From a13c1deca6686dc85ce9eed54d3622d37ec0a47c Mon Sep 17 00:00:00 2001 From: Tsanie Lily Date: Mon, 18 May 2020 09:27:32 +0800 Subject: [PATCH] fix: size alloc issue when UpSideDown in iPhone --- Pixiview.iOS/Renderers/AdaptedPageRenderer.cs | 4 ++++ Pixiview/UI/AdaptedPage.cs | 8 +++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Pixiview.iOS/Renderers/AdaptedPageRenderer.cs b/Pixiview.iOS/Renderers/AdaptedPageRenderer.cs index bc2202c..979a75c 100644 --- a/Pixiview.iOS/Renderers/AdaptedPageRenderer.cs +++ b/Pixiview.iOS/Renderers/AdaptedPageRenderer.cs @@ -93,6 +93,10 @@ namespace Pixiview.iOS.Renderers var landscape = lastOrientation == UIDeviceOrientation.LandscapeLeft || lastOrientation == UIDeviceOrientation.LandscapeRight; + if (UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Phone) + { + landscape |= lastOrientation == UIDeviceOrientation.PortraitUpsideDown; + } page.OnOrientationChanged(landscape); } } diff --git a/Pixiview/UI/AdaptedPage.cs b/Pixiview/UI/AdaptedPage.cs index 2dab670..f4467a1 100644 --- a/Pixiview/UI/AdaptedPage.cs +++ b/Pixiview/UI/AdaptedPage.cs @@ -99,8 +99,14 @@ namespace Pixiview.UI { var m = margin; var start = element.Margin.Top - m.Top; +#if DEBUG + if (start != 0) + { + App.DebugPrint($"{element.GetType()}, margin-top from {element.Margin.Top} to {margin.Top}"); + } +#endif element.Margin = m; - if (start != 0 && animate) + if (start > 0 && animate) { ViewExtensions.CancelAnimations(element); element.Animate("margin", top =>