ui fix, navigation bar adjust

This commit is contained in:
2020-05-05 20:26:47 +08:00
parent d40dfccc07
commit 98833961a0
14 changed files with 158 additions and 121 deletions

View File

@@ -75,6 +75,7 @@
<Compile Include="Renderers\CardViewRenderer.cs" />
<Compile Include="Renderers\RoundImageRenderer.cs" />
<Compile Include="GlobalSuppressions.cs" />
<Compile Include="Renderers\NavigationPageRenderer.cs" />
</ItemGroup>
<ItemGroup>
<InterfaceDefinition Include="Resources\LaunchScreen.storyboard" />

View File

@@ -21,18 +21,27 @@ namespace Pixiview.iOS.Renderers
if (Element is AdaptedPage page)
{
//var mode = ForPage.GetLargeTitleDisplay(page);
//NavigationItem.LargeTitleDisplayMode = UINavigationItemLargeTitleDisplayMode.Automatic;
page.OnLoad();
}
}
public override bool PrefersHomeIndicatorAutoHidden => Screen.GetHomeIndicatorAutoHidden(Element);
public override void ViewDidAppear(bool animated)
{
base.ViewDidAppear(animated);
var style = ConvertStyle(StatusBar.GetStatusBarStyle(Element));
if (UIApplication.SharedApplication.StatusBarStyle != style)
var element = Element;
if (element != null)
{
SetStatusBarStyle(style);
var style = ConvertStyle(Screen.GetStatusBarStyle(element));
if (UIApplication.SharedApplication.StatusBarStyle != style)
{
SetStatusBarStyle(style);
}
}
observer = UIDevice.Notifications.ObserveOrientationDidChange(ChangeOrientation);
@@ -95,7 +104,7 @@ namespace Pixiview.iOS.Renderers
lastOrientation = current;
if (current == UIDeviceOrientation.Portrait && UIApplication.SharedApplication.StatusBarHidden)
{
var style = ConvertStyle(StatusBar.GetStatusBarStyle(Element));
var style = ConvertStyle(Screen.GetStatusBarStyle(Element));
if (style != UIStatusBarStyle.BlackOpaque)
{
UIApplication.SharedApplication.SetStatusBarHidden(false, true);

View File

@@ -0,0 +1,18 @@
using Pixiview.iOS.Renderers;
using UIKit;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;
[assembly: ExportRenderer(typeof(NavigationPage), typeof(NavigationPageRenderer))]
namespace Pixiview.iOS.Renderers
{
public class NavigationPageRenderer : NavigationRenderer
{
public override void WillMoveToParentViewController(UIViewController parent)
{
NavigationBar.Translucent = true;
base.WillMoveToParentViewController(parent);
}
}
}