summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Controls/GalleryPages/PlatformSpecificsGalleries/TabbedPageiOS.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Controls/GalleryPages/PlatformSpecificsGalleries/TabbedPageiOS.cs')
-rw-r--r--Xamarin.Forms.Controls/GalleryPages/PlatformSpecificsGalleries/TabbedPageiOS.cs97
1 files changed, 97 insertions, 0 deletions
diff --git a/Xamarin.Forms.Controls/GalleryPages/PlatformSpecificsGalleries/TabbedPageiOS.cs b/Xamarin.Forms.Controls/GalleryPages/PlatformSpecificsGalleries/TabbedPageiOS.cs
new file mode 100644
index 00000000..73cce1c9
--- /dev/null
+++ b/Xamarin.Forms.Controls/GalleryPages/PlatformSpecificsGalleries/TabbedPageiOS.cs
@@ -0,0 +1,97 @@
+using System.Windows.Input;
+using Xamarin.Forms.PlatformConfiguration;
+using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
+
+namespace Xamarin.Forms.Controls.GalleryPages.PlatformSpecificsGalleries
+{
+ public class TabbedPageiOS : TabbedPage
+ {
+ public TabbedPageiOS(ICommand restore)
+ {
+ Children.Add(CreatePage(restore, "Page One"));
+ Children.Add(CreatePage(restore, "Page Two"));
+ }
+
+ ContentPage CreatePage(ICommand restore, string title)
+ {
+ var page = new ContentPage {
+ Title = title
+ };
+ var content = new StackLayout
+ {
+ VerticalOptions = LayoutOptions.Fill,
+ HorizontalOptions = LayoutOptions.Fill,
+ Padding = new Thickness(0, 20, 0, 0)
+ };
+ content.Children.Add(new Label
+ {
+ Text = "TabbedPage iOS Features",
+ FontAttributes = FontAttributes.Bold,
+ HorizontalTextAlignment = TextAlignment.Center,
+ VerticalTextAlignment = TextAlignment.Center
+ });
+
+ var togglePrefersStatusBarHiddenButton = new Button
+ {
+ Text = "Toggle PrefersStatusBarHidden for TabbedPage"
+ };
+ var togglePrefersStatusBarHiddenForPageButton = new Button
+ {
+ Text = "Toggle PrefersStatusBarHidden for Page"
+ };
+ var togglePreferredStatusBarUpdateAnimationButton = new Button
+ {
+ Text = "Toggle PreferredStatusBarUpdateAnimation"
+ };
+
+ togglePrefersStatusBarHiddenButton.Command = new Command(() =>
+ {
+ var mode = On<iOS>().PrefersStatusBarHidden();
+ if (mode == StatusBarHiddenMode.Default)
+ On<iOS>().SetPrefersStatusBarHidden(StatusBarHiddenMode.True);
+ else if (mode == StatusBarHiddenMode.True)
+ On<iOS>().SetPrefersStatusBarHidden(StatusBarHiddenMode.False);
+ else
+ On<iOS>().SetPrefersStatusBarHidden(StatusBarHiddenMode.Default);
+ });
+
+ togglePrefersStatusBarHiddenForPageButton.Command = new Command(() =>
+ {
+ var mode = page.On<iOS>().PrefersStatusBarHidden();
+ if (mode == StatusBarHiddenMode.Default)
+ page.On<iOS>().SetPrefersStatusBarHidden(StatusBarHiddenMode.True);
+ else if (mode == StatusBarHiddenMode.True)
+ page.On<iOS>().SetPrefersStatusBarHidden(StatusBarHiddenMode.False);
+ else
+ page.On<iOS>().SetPrefersStatusBarHidden(StatusBarHiddenMode.Default);
+ });
+
+ togglePreferredStatusBarUpdateAnimationButton.Command = new Command(() =>
+ {
+ var animation = page.On<iOS>().PreferredStatusBarUpdateAnimation();
+ if (animation == UIStatusBarAnimation.Fade)
+ page.On<iOS>().SetPreferredStatusBarUpdateAnimation(UIStatusBarAnimation.Slide);
+ else if (animation == UIStatusBarAnimation.Slide)
+ page.On<iOS>().SetPreferredStatusBarUpdateAnimation(UIStatusBarAnimation.None);
+ else
+ page.On<iOS>().SetPreferredStatusBarUpdateAnimation(UIStatusBarAnimation.Fade);
+ });
+
+ var restoreButton = new Button { Text = "Back To Gallery" };
+ restoreButton.Clicked += (sender, args) => restore.Execute(null);
+ content.Children.Add(restoreButton);
+ content.Children.Add(togglePrefersStatusBarHiddenButton);
+ content.Children.Add(togglePrefersStatusBarHiddenForPageButton);
+ content.Children.Add(togglePreferredStatusBarUpdateAnimationButton);
+ content.Children.Add(new Label
+ {
+ HorizontalOptions = LayoutOptions.Center,
+ Text = "Note: Setting the PrefersStatusBarHidden value on a TabbedPage applies that value to all its subpages."
+ });
+
+ page.Content = content;
+
+ return page;
+ }
+ }
+}