diff options
Diffstat (limited to 'Xamarin.Forms.Controls/GalleryPages/PlatformSpecificsGalleries/NavigationPageiOS.cs')
-rw-r--r-- | Xamarin.Forms.Controls/GalleryPages/PlatformSpecificsGalleries/NavigationPageiOS.cs | 46 |
1 files changed, 38 insertions, 8 deletions
diff --git a/Xamarin.Forms.Controls/GalleryPages/PlatformSpecificsGalleries/NavigationPageiOS.cs b/Xamarin.Forms.Controls/GalleryPages/PlatformSpecificsGalleries/NavigationPageiOS.cs index 92f278bb..a24aabe6 100644 --- a/Xamarin.Forms.Controls/GalleryPages/PlatformSpecificsGalleries/NavigationPageiOS.cs +++ b/Xamarin.Forms.Controls/GalleryPages/PlatformSpecificsGalleries/NavigationPageiOS.cs @@ -6,13 +6,27 @@ namespace Xamarin.Forms.Controls.GalleryPages.PlatformSpecificsGalleries { public class NavigationPageiOS : NavigationPage { + public NavigationPageiOS(Page root, ICommand restore) : base(root) + { + BackgroundColor = Color.Pink; + On<iOS>().EnableTranslucentNavigationBar(); + CurrentPage.On<iOS>().SetPreferredStatusBarUpdateAnimation(UIStatusBarAnimation.Fade); + } + public static NavigationPageiOS Create(ICommand restore) { var restoreButton = new Button { Text = "Back To Gallery" }; restoreButton.Clicked += (sender, args) => restore.Execute(null); var translucentToggleButton = new Button { Text = "Toggle Translucent NavBar" }; - + var togglePrefersStatusBarHiddenButton = new Button + { + Text = "Toggle PrefersStatusBarHidden" + }; + var togglePreferredStatusBarUpdateAnimationButton = new Button + { + Text = "Toggle PreferredStatusBarUpdateAnimation" + }; var content = new ContentPage { Title = "Navigation Page Features", @@ -20,7 +34,7 @@ namespace Xamarin.Forms.Controls.GalleryPages.PlatformSpecificsGalleries { VerticalOptions = LayoutOptions.Center, HorizontalOptions = LayoutOptions.Center, - Children = { translucentToggleButton, restoreButton } + Children = { translucentToggleButton, restoreButton, togglePrefersStatusBarHiddenButton, togglePreferredStatusBarUpdateAnimationButton} } }; @@ -28,13 +42,29 @@ namespace Xamarin.Forms.Controls.GalleryPages.PlatformSpecificsGalleries translucentToggleButton.Clicked += (sender, args) => navPage.On<iOS>().SetIsNavigationBarTranslucent(!navPage.On<iOS>().IsNavigationBarTranslucent()); - return navPage; - } + togglePrefersStatusBarHiddenButton.Command = new Command(() => + { + var mode = navPage.CurrentPage.On<iOS>().PrefersStatusBarHidden(); + if (mode == StatusBarHiddenMode.Default) + navPage.CurrentPage.On<iOS>().SetPrefersStatusBarHidden(StatusBarHiddenMode.True); + else if (mode == StatusBarHiddenMode.True) + navPage.CurrentPage.On<iOS>().SetPrefersStatusBarHidden(StatusBarHiddenMode.False); + else + navPage.CurrentPage.On<iOS>().SetPrefersStatusBarHidden(StatusBarHiddenMode.Default); + }); - public NavigationPageiOS(Page root, ICommand restore) : base(root) - { - BackgroundColor = Color.Pink; - On<iOS>().EnableTranslucentNavigationBar(); + togglePreferredStatusBarUpdateAnimationButton.Command = new Command(() => + { + var animation = navPage.On<iOS>().PreferredStatusBarUpdateAnimation(); + if (animation == UIStatusBarAnimation.Fade) + navPage.On<iOS>().SetPreferredStatusBarUpdateAnimation(UIStatusBarAnimation.Slide); + else if (animation == UIStatusBarAnimation.Slide) + navPage.On<iOS>().SetPreferredStatusBarUpdateAnimation(UIStatusBarAnimation.None); + else + navPage.On<iOS>().SetPreferredStatusBarUpdateAnimation(UIStatusBarAnimation.Fade); + }); + + return navPage; } } }
\ No newline at end of file |