* [iOS] Add SafeArea support

* [iOS] Only apply SafeArea on iOS11 or newer

* [iOS] Handle SafeAreaInsets on ViewCell and GroupCell

* [iOS] Set page padding from safe area

* [Controls] Use SafeArea PS

* [iOS] Add platform specific for LargeTiles

* [iOS] Add LargeTitleDisplayMode platform specific for ios11

* [iOS] Fix page size when large title collapses

* [iOS] Add platform specific to expose SafeAreaInsets from iOS11

* [Controls] Large titles iOS specific gallery page

* [iOS] Remove comment code on PS example

* [Controls] Add gallery sample for Safe Area PS

* [iOS] Inside a TabbedPage safe area bottom is handle by UITabViewController

* [Core,iOS]If we are not using safearea set the padding to the default

* [iOS] Revert SafeAreas on navpage

* [iOS] Fix safe area inset for ViewCell

* [iOS] Handle ViewCell margin correctly on iOS11

* [Core,iOS] Rename to UsingSafeArea, use BPKey instead for SafeAreaInsets

* [Core,iOS] Rename to UsingLargeTitles

* [iOS,Core] Rename to PrefersLargeTitles
This commit is contained in:
Rui Marinho 2017-11-02 18:04:55 +00:00 коммит произвёл Jason Smith
Родитель f026776883
Коммит 042699447a
18 изменённых файлов: 1244 добавлений и 8 удалений

Просмотреть файл

@ -5,6 +5,7 @@ using System.Reflection;
using System.Threading.Tasks;
using Xamarin.Forms.Internals;
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
using Xamarin.Forms.PlatformConfiguration.WindowsSpecific;
namespace Xamarin.Forms.Controls
@ -47,10 +48,14 @@ namespace Xamarin.Forms.Controls
public Page CreateDefaultMainPage()
{
var layout = new StackLayout { BackgroundColor = Color.Red };
layout.Children.Add(new Label { Text ="This is master Page" });
var master = new ContentPage { Title = "Master", Content = layout, BackgroundColor = Color.SkyBlue };
master.On<iOS>().SetUseSafeArea(true);
return new MasterDetailPage
{
AutomationId = DefaultMainPageId,
Master = new ContentPage { Title = "Master", Content = new View { BackgroundColor = Color.Red } },
Master = master,
Detail = CoreGallery.GetMainPage()
};
}

Просмотреть файл

@ -11,6 +11,8 @@ using System.Threading.Tasks;
using Xamarin.Forms.Controls.GalleryPages;
using Xamarin.Forms.CustomAttributes;
using Xamarin.Forms.Internals;
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
namespace Xamarin.Forms.Controls
{
@ -33,6 +35,7 @@ namespace Xamarin.Forms.Controls
{
public CoreContentPage ()
{
On<iOS>().SetUseSafeArea(true);
AutomationId = "ContentPageRoot";
Content = new StackLayout { Children = { new CoreRootView (), new CorePageView (this, NavigationBehavior.PushModalAsync) } };
}
@ -80,6 +83,8 @@ namespace Xamarin.Forms.Controls
return false;
});
On<iOS>().SetPrefersLargeTitles(true);
Navigation.PushAsync (new CoreRootPage (this));
}
}

Просмотреть файл

@ -0,0 +1,59 @@
using System;
using System.Windows.Input;
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
namespace Xamarin.Forms.Controls.GalleryPages.PlatformSpecificsGalleries
{
public class LargeTitlesPageiOS : ContentPage
{
public LargeTitlesPageiOS(ICommand restore)
{
Title = "Large Titles";
var offscreenPageLimit = new Label();
var content = new StackLayout
{
VerticalOptions = LayoutOptions.Fill,
HorizontalOptions = LayoutOptions.Fill,
Children =
{
new Button
{
Text = "LargeTitleDisplayMode.Never",
Command = new Command(() => On<iOS>().SetLargeTitleDisplay(LargeTitleDisplayMode.Never))
},
new Button
{
Text = "LargeTitleDisplayMode.Always",
Command = new Command(() => On<iOS>().SetLargeTitleDisplay(LargeTitleDisplayMode.Always))
},
new Button
{
Text = "LargeTitleDisplayMode.Automatic -> next page will have same LargeTitleDisplayMode as this one",
Command = new Command(async () =>{
var page = new ContentPage { Title = "Page Title" };
page.On<iOS>().SetLargeTitleDisplay(LargeTitleDisplayMode.Automatic);
await Navigation.PushAsync(page);
} )
},
new Button
{
Text = "Tooggle UseLargeTitles on Navigation",
Command = new Command( () =>{
var navPage = (Parent as NavigationPage);
navPage.On<iOS>().SetPrefersLargeTitles(!navPage.On<iOS>().PrefersLargeTitles());
} )
},
offscreenPageLimit
}
};
var restoreButton = new Button { Text = "Back To Gallery" };
restoreButton.Clicked += async (sender, args) => await Navigation.PopAsync();
content.Children.Add(restoreButton);
Content = content;
}
}
}

Просмотреть файл

@ -0,0 +1,348 @@
using System;
using System.Collections.Generic;
using System.Windows.Input;
using Xamarin.Forms.Internals;
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
using static Xamarin.Forms.Controls.Issues.Issue2259;
namespace Xamarin.Forms.Controls.GalleryPages.PlatformSpecificsGalleries
{
public class SafeAreaPageiOS : ContentPage
{
Label safeLimits;
public SafeAreaPageiOS(ICommand restore, Command<Page> setRoot)
{
Title = "Safe Area";
BackgroundColor = Color.Azure;
On<iOS>().SetUseSafeArea(true);
Construct(this, restore, setRoot);
}
void Construct(ContentPage page, ICommand restore, Command<Page> setRoot)
{
safeLimits = new Label { Text = "nothing" };
var grid = new Grid
{
VerticalOptions = LayoutOptions.Fill,
HorizontalOptions = LayoutOptions.Fill,
};
grid.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto });
grid.RowDefinitions.Add(new RowDefinition { Height = GridLength.Star });
grid.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto });
var safeLimitsTop = new Label
{
Text = "top",
BackgroundColor = Color.Pink,
HorizontalOptions = LayoutOptions.Start,
VerticalOptions = LayoutOptions.Start,
InputTransparent = true
};
grid.Children.Add(safeLimitsTop);
Grid.SetRow(safeLimitsTop, 0);
var safeLimitsBottom = new Label
{
Text = "bottom",
BackgroundColor = Color.Pink,
HorizontalOptions = LayoutOptions.End,
VerticalOptions = LayoutOptions.End,
InputTransparent = true
};
grid.Children.Add(safeLimitsBottom);
Grid.SetRow(safeLimitsBottom, 2);
var content = new ScrollView
{
Content = new StackLayout
{
VerticalOptions = LayoutOptions.Fill,
HorizontalOptions = LayoutOptions.Fill,
Children = {
safeLimits,
new Button
{
Text = "Set Content as root",
Command = new Command(() =>
{
var pageSafe = new SafeAreaPageiOS(restore,setRoot);
setRoot.Execute(pageSafe);
})
},
new Button
{
Text = "Set NavigationPage as root",
Command = new Command(() =>
{
var pageSafe = new SafeAreaPageiOS(restore,setRoot);
setRoot.Execute(new NavigationPage(pageSafe));
})
},
new Button
{
Text = "Set TabbedPage as root",
Command = new Command(() =>
{
var pageSafe = new SafeAreaPageiOS(restore,setRoot);
var pageNotSafe = new SafeAreaPageiOS(restore,setRoot);
pageNotSafe.On<iOS>().SetUseSafeArea(false);
pageNotSafe.Title ="Not Using Safe Area";
var tabbedPage = new TabbedPage();
tabbedPage.Children.Add(pageSafe);
tabbedPage.Children.Add(pageNotSafe);
setRoot.Execute(tabbedPage);
})
},
new Button
{
Text = "Set TabbedPage and NavigationPage as root",
Command = new Command(() =>
{
var pageSafe = new SafeAreaPageiOS(restore,setRoot);
var pageNotSafe = new SafeAreaPageiOS(restore,setRoot);
pageNotSafe.On<iOS>().SetUseSafeArea(false);
pageNotSafe.Title ="Not Using Safe Area";
var tabbedPage = new TabbedPage();
tabbedPage.Children.Add(new NavigationPage(pageSafe) { Title = pageSafe.Title});
tabbedPage.Children.Add(new NavigationPage(pageNotSafe) { Title = pageNotSafe.Title});
setRoot.Execute(tabbedPage);
})
},
new Button
{
Text = "Set CarouselPage as root",
Command = new Command(() =>
{
var pageSafe = new SafeAreaPageiOS(restore,setRoot);
var pageNotSafe = new SafeAreaPageiOS(restore,setRoot);
pageNotSafe.On<iOS>().SetUseSafeArea(false);
pageNotSafe.Title ="Not Using Safe Area";
var carouselPage = new CarouselPage();
carouselPage.Children.Add(pageSafe);
carouselPage.Children.Add(pageNotSafe);
setRoot.Execute(carouselPage);
})
},
new Button
{
Text = "Toggle use safe area",
Command = new Command(() => On<iOS>().SetUseSafeArea(!On<iOS>().UsingSafeArea()))
},
new Button
{
Text = "ListViewPage with safe area",
Command = new Command(()=>{
var pageLIST = new ListViewPage("1", restore);
pageLIST.On<iOS>().SetUseSafeArea(true);
setRoot.Execute(pageLIST);
})
},new Button
{
Text = "ListViewPage with no safe area",
Command = new Command(()=>{
var pageLIST = new ListViewPage("1", restore);
setRoot.Execute(pageLIST);
}),
},new Button
{
Text = "ListViewPageGrouping with no safe area",
Command = new Command(()=>{
var pageLIST = GetGroupedListView(restore);
(pageLIST.Content as ListView).Header = new Button { Text = "Go back To gallery", Command = restore };
setRoot.Execute(pageLIST);
})
},new Button
{
Text = "ListViewPageGrouping using SafeAreaInsets",
Command = new Command(()=>{
var pageLIST = GetGroupedListView(restore);
pageLIST.PropertyChanged += (sender, e) => {
if(e.PropertyName == "SafeAreaInsets")
{
var safeAreaInsets = pageLIST.On<iOS>().SafeAreaInsets();
//we always want to pad the top when using grouping
pageLIST.Padding = new Thickness(0,safeAreaInsets.Top,0,0);
}
};
setRoot.Execute(pageLIST);
})
},
new Button
{
Text = "ListViewPageGrouping with safe area",
Command = new Command(()=>{
var pageLIST = GetGroupedListView(restore);
pageLIST.On<iOS>().SetUseSafeArea(true);
setRoot.Execute(pageLIST);
})
},
new Button
{
Text = "TableView+TextCell with safe area",
Command = new Command(()=>{
var pageTable = new TableViewPage(restore);
pageTable.On<iOS>().SetUseSafeArea(true);
setRoot.Execute(pageTable);
})
},
new Button
{
Text = "TableView+TextCell with no safe area",
Command = new Command(()=>{
var pageTable = new TableViewPage(restore);
setRoot.Execute(pageTable);
})
},
new Button
{
Text = "Back To Gallery",
Command = restore
},
}
}
};
grid.Children.Add(content);
Grid.SetRow(content, 1);
page.Content = grid;
}
protected override void OnPropertyChanged(string propertyName = null)
{
if (propertyName == "SafeAreaInsets")
{
safeLimits.Text = $" Top:{On<iOS>().SafeAreaInsets().Top} - Bottom:{On<iOS>().SafeAreaInsets().Bottom} - Left:{On<iOS>().SafeAreaInsets().Left} - Right:{On<iOS>().SafeAreaInsets().Right}";
}
base.OnPropertyChanged(propertyName);
}
ContentPage GetGroupedListView(ICommand restore)
{
var pageLIST = new GroupedListActionsGallery();
NavigationPage.SetHasNavigationBar(pageLIST, true);
(pageLIST.Content as ListView).Header = new Button { Text = "Go back To gallery", Command = restore };
return pageLIST;
}
[Preserve(AllMembers = true)]
class MViewCell : ViewCell
{
Label firstNameLabel = new Label();
Label lastNameLabel = new Label();
Label cityLabel = new Label();
Label stateLabel = new Label { HorizontalOptions = LayoutOptions.End };
public MViewCell()
{
View = new StackLayout
{
Orientation = StackOrientation.Horizontal,
Children =
{
firstNameLabel,
lastNameLabel,
cityLabel,
stateLabel
}
};
firstNameLabel.SetBinding(Label.TextProperty, "FirstName");
lastNameLabel.SetBinding(Label.TextProperty, "LastName");
cityLabel.SetBinding(Label.TextProperty, "City");
stateLabel.SetBinding(Label.TextProperty, "State");
}
}
[Preserve(AllMembers = true)]
class TableViewPage : ContentPage
{
public TableViewPage(ICommand restore)
{
Content = new TableView
{
Intent = TableIntent.Form,
Root = new TableRoot("Table Title") {
new TableSection ("Section 1 Title") {
new ViewCell {
View = new Button{ BackgroundColor = Color.Red, Command = restore, Text = "Back To Gallery", HorizontalOptions = LayoutOptions.Start }
}
},
new TableSection ("Section 1 Title") {
new ViewCell {
View = new Label { Text = "ViewCell Text with 10 margin top", Margin = new Thickness(0,10,0,0), BackgroundColor = Color.Pink },
},
new TextCell {
Text = "TextCell Text",
Detail = "TextCell Detail"
},
new TextCell {
Text = "TextCell Text",
Detail = "TextCell Detail"
},
new TextCell {
Text = "TextCell Text",
Detail = "TextCell Detail"
},
new EntryCell {
Label = "EntryCell:",
Placeholder = "default keyboard",
Keyboard = Keyboard.Default
}
},
new TableSection ("Section 2 Title") {
new EntryCell {
Label = "Another EntryCell:",
Placeholder = "phone keyboard",
Keyboard = Keyboard.Telephone
},
new SwitchCell {
Text = "SwitchCell:"
}
}
}
};
}
}
[Preserve(AllMembers = true)]
class ListViewPage : ContentPage
{
ListView _listview;
List<Person> _People = new List<Person>();
public ListViewPage(string id, ICommand restore)
{
Title = $"List {id}";
for (var x = 0; x < 1000; x++)
{
_People.Add(new Person($"Bob {x}", $"Bobson {x}", "San Francisco", "California"));
}
_listview = new ListView(ListViewCachingStrategy.RecycleElementAndDataTemplate) { ItemTemplate = new DataTemplate(typeof(MViewCell)) };
_listview.ItemsSource = _People;
_listview.Header = new Button { Text = "Go back To gallery", Command = restore };
Content = _listview;
}
}
[Preserve(AllMembers = true)]
class Person
{
public Person(string firstName, string lastName, string city, string state)
{
FirstName = firstName;
LastName = lastName;
City = city;
State = state;
}
public string FirstName { get; set; }
public string LastName { get; set; }
public string City { get; set; }
public string State { get; set; }
}
}
}

Просмотреть файл

@ -18,6 +18,8 @@ namespace Xamarin.Forms.Controls
var appAndroidButton = new Button() { Text = "Application (Android)" };
var tbAndroidButton = new Button { Text = "TabbedPage (Android)" };
var entryiOSButton = new Button() { Text = "Entry (iOS)" };
var largeTitlesiOSButton = new Button() { Text = "Large Title (iOS)" };
var safeareaiOSButton = new Button() { Text = "SafeArea (iOS)" };
mdpiOSButton.Clicked += (sender, args) => { SetRoot(new MasterDetailPageiOS(new Command(RestoreOriginal))); };
mdpWindowsButton.Clicked += (sender, args) => { SetRoot(new MasterDetailPageWindows(new Command(RestoreOriginal))); };
@ -29,11 +31,17 @@ namespace Xamarin.Forms.Controls
appAndroidButton.Clicked += (sender, args) => { SetRoot(new ApplicationAndroid(new Command(RestoreOriginal))); };
tbAndroidButton.Clicked += (sender, args) => { SetRoot(new TabbedPageAndroid(new Command(RestoreOriginal))); };
entryiOSButton.Clicked += (sender, args) => { Navigation.PushAsync(new EntryPageiOS()); };
largeTitlesiOSButton.Clicked += (sender, args) => { Navigation.PushAsync(new LargeTitlesPageiOS(new Command(RestoreOriginal))); };
safeareaiOSButton.Clicked += (sender, args) => { SetRoot(new SafeAreaPageiOS(new Command(RestoreOriginal), new Command<Page>( p => SetRoot(p)))); };
Content = new StackLayout
Content = new ScrollView
{
Children = { mdpiOSButton, mdpWindowsButton, npWindowsButton, tbiOSButton, tbWindowsButton, viselemiOSButton, appAndroidButton, tbAndroidButton, entryiOSButton }
Content = new StackLayout
{
Children = { mdpiOSButton, mdpWindowsButton, npWindowsButton, tbiOSButton, tbWindowsButton, viselemiOSButton,
appAndroidButton, tbAndroidButton, entryiOSButton, largeTitlesiOSButton, safeareaiOSButton }
}
};
}

Просмотреть файл

@ -261,6 +261,8 @@
<Compile Include="GalleryPages\MacTwitterDemo.xaml.cs">
<DependentUpon>MacTwitterDemo.xaml</DependentUpon>
</Compile>
<Compile Include="GalleryPages\PlatformSpecificsGalleries\LargeTitlesPageiOS.cs" />
<Compile Include="GalleryPages\PlatformSpecificsGalleries\SafeAreaPageiOS.cs" />
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
<Import Project="..\.nuspec\Xamarin.Forms.targets" />

Просмотреть файл

@ -0,0 +1,10 @@
using System;
namespace Xamarin.Forms.PlatformConfiguration.iOSSpecific
{
public enum LargeTitleDisplayMode
{
Automatic,
Always,
Never
}
}

Просмотреть файл

@ -71,5 +71,28 @@ namespace Xamarin.Forms.PlatformConfiguration.iOSSpecific
return config;
}
#endregion
public static readonly BindableProperty PrefersLargeTitlesProperty = BindableProperty.Create(nameof(PrefersLargeTitles), typeof(bool), typeof(Page), false);
public static bool GetPrefersLargeTitles(BindableObject element)
{
return (bool)element.GetValue(PrefersLargeTitlesProperty);
}
public static void SetPrefersLargeTitles(BindableObject element, bool value)
{
element.SetValue(PrefersLargeTitlesProperty, value);
}
public static IPlatformElementConfiguration<iOS, FormsElement> SetPrefersLargeTitles(this IPlatformElementConfiguration<iOS, FormsElement> config, bool value)
{
SetPrefersLargeTitles(config.Element, value);
return config;
}
public static bool PrefersLargeTitles(this IPlatformElementConfiguration<iOS, FormsElement> config)
{
return GetPrefersLargeTitles(config.Element);
}
}
}

Просмотреть файл

@ -56,5 +56,91 @@
SetPreferredStatusBarUpdateAnimation(config.Element, value);
return config;
}
public static readonly BindableProperty UseSafeAreaProperty = BindableProperty.Create("UseSafeArea", typeof(bool), typeof(Page), false, propertyChanged: (bindable, oldValue, newValue) =>
{
var page = bindable as Xamarin.Forms.Page;
if ((bool)oldValue && !(bool)newValue)
{
page.Padding = default(Thickness);
}
});
public static bool GetUseSafeArea(BindableObject element)
{
return (bool)element.GetValue(UseSafeAreaProperty);
}
public static void SetUseSafeArea(BindableObject element, bool value)
{
element.SetValue(UseSafeAreaProperty, value);
}
public static IPlatformElementConfiguration<iOS, FormsElement> SetUseSafeArea(this IPlatformElementConfiguration<iOS, FormsElement> config, bool value)
{
SetUseSafeArea(config.Element, value);
return config;
}
public static bool UsingSafeArea(this IPlatformElementConfiguration<iOS, FormsElement> config)
{
return GetUseSafeArea(config.Element);
}
public static readonly BindableProperty LargeTitleDisplayProperty = BindableProperty.Create(nameof(LargeTitleDisplay), typeof(LargeTitleDisplayMode), typeof(Page), LargeTitleDisplayMode.Automatic);
public static LargeTitleDisplayMode GetLargeTitleDisplay(BindableObject element)
{
return (LargeTitleDisplayMode)element.GetValue(LargeTitleDisplayProperty);
}
public static void SetLargeTitleDisplay(BindableObject element, LargeTitleDisplayMode value)
{
element.SetValue(LargeTitleDisplayProperty, value);
}
public static LargeTitleDisplayMode LargeTitleDisplay(this IPlatformElementConfiguration<iOS, FormsElement> config)
{
return GetLargeTitleDisplay(config.Element);
}
public static IPlatformElementConfiguration<iOS, FormsElement> SetLargeTitleDisplay(this IPlatformElementConfiguration<iOS, FormsElement> config, LargeTitleDisplayMode value)
{
SetLargeTitleDisplay(config.Element, value);
return config;
}
static readonly BindablePropertyKey SafeAreaInsetsPropertyKey = BindableProperty.CreateReadOnly(nameof(SafeAreaInsets), typeof(Thickness), typeof(Page), default(Thickness), propertyChanged: (bindable, oldValue, newValue) =>
{
var page = bindable as Xamarin.Forms.Page;
if (page.On<iOS>().UsingSafeArea())
{
page.Padding = (Thickness)newValue;
}
});
public static readonly BindableProperty SafeAreaInsetsProperty = SafeAreaInsetsPropertyKey.BindableProperty;
public static Thickness GetSafeAreaInsets(BindableObject element)
{
return (Thickness)element.GetValue(SafeAreaInsetsProperty);
}
static void SetSafeAreaInsets(BindableObject element, Thickness value)
{
element.SetValue(SafeAreaInsetsPropertyKey, value);
}
public static Thickness SafeAreaInsets(this IPlatformElementConfiguration<iOS, FormsElement> config)
{
return GetSafeAreaInsets(config.Element);
}
public static IPlatformElementConfiguration<iOS, FormsElement> SetSafeAreaInsets(this IPlatformElementConfiguration<iOS, FormsElement> config, Thickness value)
{
SetSafeAreaInsets(config.Element, value);
return config;
}
}
}

Просмотреть файл

@ -463,6 +463,7 @@
<Compile Include="Xaml\TypeConversionExtensions.cs" />
<Compile Include="Xaml\ValueConverterProvider.cs" />
<Compile Include="PlatformConfiguration\macOSSpecific\Page.cs" />
<Compile Include="PlatformConfiguration\iOSSpecific\LargeTitleDisplayMode.cs" />
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
<ItemGroup>

Просмотреть файл

@ -24,12 +24,17 @@ namespace Xamarin.Forms.Platform.iOS
return tvc;
}
public virtual void SetBackgroundColor(UITableViewCell tableViewCell, Cell cell, UIColor color)
{
tableViewCell.BackgroundColor = color;
}
protected void UpdateBackground(UITableViewCell tableViewCell, Cell cell)
{
if (cell.GetIsGroupHeader<ItemsView<Cell>, Cell>())
{
if (UIDevice.CurrentDevice.CheckSystemVersion(7, 0))
tableViewCell.BackgroundColor = new UIColor(247f / 255f, 247f / 255f, 247f / 255f, 1);
SetBackgroundColor(tableViewCell, cell, new UIColor(247f / 255f, 247f / 255f, 247f / 255f, 1));
}
else
{
@ -40,7 +45,7 @@ namespace Xamarin.Forms.Platform.iOS
if (element != null)
bgColor = element.BackgroundColor == Color.Default ? bgColor : element.BackgroundColor.ToUIColor();
tableViewCell.BackgroundColor = bgColor;
SetBackgroundColor(tableViewCell, cell, bgColor);
}
}

Просмотреть файл

@ -30,6 +30,16 @@ namespace Xamarin.Forms.Platform.iOS
return cell;
}
public override void SetBackgroundColor(UITableViewCell tableViewCell, Cell cell, UIColor color)
{
if (cell is ViewCell && Forms.IsiOS11OrNewer)
{
color = (cell as ViewCell).View.BackgroundColor == Color.Default ? color : (cell as ViewCell).View.BackgroundColor.ToUIColor();
tableViewCell.BackgroundColor = color;
}
base.SetBackgroundColor(tableViewCell, cell, color);
}
static void UpdateIsEnabled(ViewTableCell cell, ViewCell viewCell)
{
cell.UserInteractionEnabled = viewCell.IsEnabled;
@ -84,6 +94,12 @@ namespace Xamarin.Forms.Platform.iOS
var contentFrame = ContentView.Frame;
var view = ViewCell.View;
if (Forms.IsiOS11OrNewer)
{
var rect = new Rectangle(ContentView.LayoutMargins.Left, 0, contentFrame.Width - ContentView.LayoutMargins.Left, contentFrame.Height);
contentFrame = rect.ToRectangleF();
}
Layout.LayoutChildIntoBoundingRegion(view, contentFrame.ToRectangle());
if (_rendererRef == null)

Просмотреть файл

@ -8,6 +8,7 @@ using UIKit;
using Xamarin.Forms.Internals;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
using static Xamarin.Forms.PlatformConfiguration.iOSSpecific.Page;
using static Xamarin.Forms.PlatformConfiguration.iOSSpecific.NavigationPage;
using PageUIStatusBarAnimation = Xamarin.Forms.PlatformConfiguration.iOSSpecific.UIStatusBarAnimation;
using PointF = CoreGraphics.CGPoint;
using RectangleF = CoreGraphics.CGRect;
@ -148,11 +149,12 @@ namespace Xamarin.Forms.Platform.iOS
base.ViewDidLayoutSubviews();
UpdateToolBarVisible();
var navBarFrame = NavigationBar.Frame;
//var navBarFrameBotton = Forms.IsiOS11OrNewer ? View.SafeAreaInsets.Top : NavigationBar.Frame.Bottom;
var navBarFrameBotton = NavigationBar.Frame.Bottom;
var toolbar = _secondaryToolbar;
// Use 0 if the NavBar is hidden or will be hidden
var toolbarY = NavigationBarHidden || NavigationBar.Translucent || !NavigationPage.GetHasNavigationBar(Current) ? 0 : navBarFrame.Bottom;
var toolbarY = NavigationBarHidden || NavigationBar.Translucent || !NavigationPage.GetHasNavigationBar(Current) ? 0 : navBarFrameBotton;
toolbar.Frame = new RectangleF(0, toolbarY, View.Frame.Width, toolbar.Frame.Height);
double trueBottom = toolbar.Hidden ? toolbarY : toolbar.Frame.Bottom;
@ -205,6 +207,7 @@ namespace Xamarin.Forms.Platform.iOS
UpdateTint();
UpdateBarBackgroundColor();
UpdateBarTextColor();
UpdateUseLargeTitles();
// If there is already stuff on the stack we need to push it
navPage.Pages.ForEach(async p => await PushPageAsync(p, false));
@ -442,6 +445,9 @@ namespace Xamarin.Forms.Platform.iOS
UpdateTranslucent();
else if (e.PropertyName == PreferredStatusBarUpdateAnimationProperty.PropertyName)
UpdateCurrentPagePreferredStatusBarUpdateAnimation();
else if (e.PropertyName == PrefersLargeTitlesProperty.PropertyName)
UpdateUseLargeTitles();
}
void UpdateCurrentPagePreferredStatusBarUpdateAnimation()
@ -452,6 +458,14 @@ namespace Xamarin.Forms.Platform.iOS
PlatformConfiguration.iOSSpecific.Page.SetPreferredStatusBarUpdateAnimation(Current.OnThisPlatform(), animation);
}
void UpdateUseLargeTitles()
{
var navPage = (Element as NavigationPage);
if (Forms.IsiOS11OrNewer && navPage != null)
NavigationBar.PrefersLargeTitles = navPage.OnThisPlatform().PrefersLargeTitles();
}
void UpdateTranslucent()
{
NavigationBar.Translucent = ((NavigationPage)Element).OnThisPlatform().IsNavigationBarTranslucent();
@ -599,6 +613,12 @@ namespace Xamarin.Forms.Platform.iOS
NavigationBar.TitleTextAttributes = titleAttributes;
}
if(Forms.IsiOS11OrNewer)
{
NavigationBar.LargeTitleTextAttributes = NavigationBar.TitleTextAttributes;
}
var statusBarColorMode = (Element as NavigationPage).OnThisPlatform().GetStatusBarTextColorMode();
// set Tint color (i. e. Back Button arrow and Text)
@ -782,6 +802,7 @@ namespace Xamarin.Forms.Platform.iOS
_child.PropertyChanged += HandleChildPropertyChanged;
UpdateHasBackButton();
UpdateLargeTitles();
}
}
@ -887,6 +908,8 @@ namespace Xamarin.Forms.Platform.iOS
UpdateHasBackButton();
else if (e.PropertyName == PrefersStatusBarHiddenProperty.PropertyName)
UpdatePrefersStatusBarHidden();
else if (e.PropertyName == LargeTitleDisplayProperty.PropertyName)
UpdateLargeTitles();
}
void UpdatePrefersStatusBarHidden()
@ -958,6 +981,27 @@ namespace Xamarin.Forms.Platform.iOS
n.UpdateToolBarVisible();
}
void UpdateLargeTitles()
{
var page = Child;
if (page != null && Forms.IsiOS11OrNewer)
{
var largeTitleDisplayMode = page.OnThisPlatform().LargeTitleDisplay();
switch (largeTitleDisplayMode)
{
case LargeTitleDisplayMode.Always:
NavigationItem.LargeTitleDisplayMode = UINavigationItemLargeTitleDisplayMode.Always;
break;
case LargeTitleDisplayMode.Automatic:
NavigationItem.LargeTitleDisplayMode = UINavigationItemLargeTitleDisplayMode.Automatic;
break;
case LargeTitleDisplayMode.Never:
NavigationItem.LargeTitleDisplayMode = UINavigationItemLargeTitleDisplayMode.Never;
break;
}
}
}
public override UIInterfaceOrientationMask GetSupportedInterfaceOrientations()
{
IVisualElementRenderer childRenderer;

Просмотреть файл

@ -63,6 +63,23 @@ namespace Xamarin.Forms.Platform.iOS
Element.Layout(new Rectangle(Element.X, Element.Y, size.Width, size.Height));
}
public override void ViewSafeAreaInsetsDidChange()
{
var page = (Element as Page);
if (page != null && Forms.IsiOS11OrNewer)
{
var insets = NativeView.SafeAreaInsets;
if(page.Parent is TabbedPage)
{
insets.Bottom = 0;
}
page.On<PlatformConfiguration.iOS>().SetSafeAreaInsets(new Thickness(insets.Left, insets.Top, insets.Right, insets.Bottom));
}
base.ViewSafeAreaInsetsDidChange();
}
public UIViewController ViewController => _disposed ? null : this;
public override void ViewDidAppear(bool animated)

Просмотреть файл

@ -0,0 +1,59 @@
<Type Name="LargeTitleDisplayMode" FullName="Xamarin.Forms.PlatformConfiguration.iOSSpecific.LargeTitleDisplayMode">
<TypeSignature Language="C#" Value="public enum LargeTitleDisplayMode" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi sealed LargeTitleDisplayMode extends System.Enum" />
<AssemblyInfo>
<AssemblyName>Xamarin.Forms.Core</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Enum</BaseTypeName>
</Base>
<Docs>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
<Members>
<Member MemberName="Always">
<MemberSignature Language="C#" Value="Always" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype Xamarin.Forms.PlatformConfiguration.iOSSpecific.LargeTitleDisplayMode Always = int32(1)" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Xamarin.Forms.PlatformConfiguration.iOSSpecific.LargeTitleDisplayMode</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
</Docs>
</Member>
<Member MemberName="Automatic">
<MemberSignature Language="C#" Value="Automatic" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype Xamarin.Forms.PlatformConfiguration.iOSSpecific.LargeTitleDisplayMode Automatic = int32(0)" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Xamarin.Forms.PlatformConfiguration.iOSSpecific.LargeTitleDisplayMode</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
</Docs>
</Member>
<Member MemberName="Never">
<MemberSignature Language="C#" Value="Never" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype Xamarin.Forms.PlatformConfiguration.iOSSpecific.LargeTitleDisplayMode Never = int32(2)" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Xamarin.Forms.PlatformConfiguration.iOSSpecific.LargeTitleDisplayMode</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
</Docs>
</Member>
</Members>
</Type>

Просмотреть файл

@ -74,6 +74,26 @@
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="GetPrefersLargeTitles">
<MemberSignature Language="C#" Value="public static bool GetPrefersLargeTitles (Xamarin.Forms.BindableObject element);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig bool GetPrefersLargeTitles(class Xamarin.Forms.BindableObject element) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="element" Type="Xamarin.Forms.BindableObject" />
</Parameters>
<Docs>
<param name="element">To be added.</param>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="GetStatusBarTextColorMode">
<MemberSignature Language="C#" Value="public static Xamarin.Forms.PlatformConfiguration.iOSSpecific.StatusBarTextColorMode GetStatusBarTextColorMode (Xamarin.Forms.BindableObject element);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig valuetype Xamarin.Forms.PlatformConfiguration.iOSSpecific.StatusBarTextColorMode GetStatusBarTextColorMode(class Xamarin.Forms.BindableObject element) cil managed" />
@ -149,6 +169,41 @@
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="PrefersLargeTitles">
<MemberSignature Language="C#" Value="public static bool PrefersLargeTitles (this Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.NavigationPage&gt; config);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig bool PrefersLargeTitles(class Xamarin.Forms.IPlatformElementConfiguration`2&lt;class Xamarin.Forms.PlatformConfiguration.iOS, class Xamarin.Forms.NavigationPage&gt; config) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="config" Type="Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.NavigationPage&gt;" RefType="this" />
</Parameters>
<Docs>
<param name="config">To be added.</param>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="PrefersLargeTitlesProperty">
<MemberSignature Language="C#" Value="public static readonly Xamarin.Forms.BindableProperty PrefersLargeTitlesProperty;" />
<MemberSignature Language="ILAsm" Value=".field public static initonly class Xamarin.Forms.BindableProperty PrefersLargeTitlesProperty" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Xamarin.Forms.BindableProperty</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="SetIsNavigationBarTranslucent">
<MemberSignature Language="C#" Value="public static void SetIsNavigationBarTranslucent (Xamarin.Forms.BindableObject element, bool value);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig void SetIsNavigationBarTranslucent(class Xamarin.Forms.BindableObject element, bool value) cil managed" />
@ -192,6 +247,49 @@
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="SetPrefersLargeTitles">
<MemberSignature Language="C#" Value="public static void SetPrefersLargeTitles (Xamarin.Forms.BindableObject element, bool value);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig void SetPrefersLargeTitles(class Xamarin.Forms.BindableObject element, bool value) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="element" Type="Xamarin.Forms.BindableObject" />
<Parameter Name="value" Type="System.Boolean" />
</Parameters>
<Docs>
<param name="element">To be added.</param>
<param name="value">To be added.</param>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="SetPrefersLargeTitles">
<MemberSignature Language="C#" Value="public static Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.NavigationPage&gt; SetPrefersLargeTitles (this Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.NavigationPage&gt; config, bool value);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig class Xamarin.Forms.IPlatformElementConfiguration`2&lt;class Xamarin.Forms.PlatformConfiguration.iOS, class Xamarin.Forms.NavigationPage&gt; SetPrefersLargeTitles(class Xamarin.Forms.IPlatformElementConfiguration`2&lt;class Xamarin.Forms.PlatformConfiguration.iOS, class Xamarin.Forms.NavigationPage&gt; config, bool value) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.NavigationPage&gt;</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="config" Type="Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.NavigationPage&gt;" RefType="this" />
<Parameter Name="value" Type="System.Boolean" />
</Parameters>
<Docs>
<param name="config">To be added.</param>
<param name="value">To be added.</param>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="SetStatusBarTextColorMode">
<MemberSignature Language="C#" Value="public static void SetStatusBarTextColorMode (Xamarin.Forms.BindableObject element, Xamarin.Forms.PlatformConfiguration.iOSSpecific.StatusBarTextColorMode value);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig void SetStatusBarTextColorMode(class Xamarin.Forms.BindableObject element, valuetype Xamarin.Forms.PlatformConfiguration.iOSSpecific.StatusBarTextColorMode value) cil managed" />

Просмотреть файл

@ -14,6 +14,26 @@
<remarks>To be added.</remarks>
</Docs>
<Members>
<Member MemberName="GetLargeTitleDisplay">
<MemberSignature Language="C#" Value="public static Xamarin.Forms.PlatformConfiguration.iOSSpecific.LargeTitleDisplayMode GetLargeTitleDisplay (Xamarin.Forms.BindableObject element);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig valuetype Xamarin.Forms.PlatformConfiguration.iOSSpecific.LargeTitleDisplayMode GetLargeTitleDisplay(class Xamarin.Forms.BindableObject element) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Xamarin.Forms.PlatformConfiguration.iOSSpecific.LargeTitleDisplayMode</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="element" Type="Xamarin.Forms.BindableObject" />
</Parameters>
<Docs>
<param name="element">To be added.</param>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="GetPreferredStatusBarUpdateAnimation">
<MemberSignature Language="C#" Value="public static Xamarin.Forms.PlatformConfiguration.iOSSpecific.UIStatusBarAnimation GetPreferredStatusBarUpdateAnimation (Xamarin.Forms.BindableObject element);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig valuetype Xamarin.Forms.PlatformConfiguration.iOSSpecific.UIStatusBarAnimation GetPreferredStatusBarUpdateAnimation(class Xamarin.Forms.BindableObject element) cil managed" />
@ -54,6 +74,81 @@
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="GetSafeAreaInsets">
<MemberSignature Language="C#" Value="public static Xamarin.Forms.Thickness GetSafeAreaInsets (Xamarin.Forms.BindableObject element);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig valuetype Xamarin.Forms.Thickness GetSafeAreaInsets(class Xamarin.Forms.BindableObject element) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Xamarin.Forms.Thickness</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="element" Type="Xamarin.Forms.BindableObject" />
</Parameters>
<Docs>
<param name="element">To be added.</param>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="GetUseSafeArea">
<MemberSignature Language="C#" Value="public static bool GetUseSafeArea (Xamarin.Forms.BindableObject element);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig bool GetUseSafeArea(class Xamarin.Forms.BindableObject element) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="element" Type="Xamarin.Forms.BindableObject" />
</Parameters>
<Docs>
<param name="element">To be added.</param>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="LargeTitleDisplay">
<MemberSignature Language="C#" Value="public static Xamarin.Forms.PlatformConfiguration.iOSSpecific.LargeTitleDisplayMode LargeTitleDisplay (this Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt; config);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig valuetype Xamarin.Forms.PlatformConfiguration.iOSSpecific.LargeTitleDisplayMode LargeTitleDisplay(class Xamarin.Forms.IPlatformElementConfiguration`2&lt;class Xamarin.Forms.PlatformConfiguration.iOS, class Xamarin.Forms.Page&gt; config) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Xamarin.Forms.PlatformConfiguration.iOSSpecific.LargeTitleDisplayMode</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="config" Type="Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt;" RefType="this" />
</Parameters>
<Docs>
<param name="config">To be added.</param>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="LargeTitleDisplayProperty">
<MemberSignature Language="C#" Value="public static readonly Xamarin.Forms.BindableProperty LargeTitleDisplayProperty;" />
<MemberSignature Language="ILAsm" Value=".field public static initonly class Xamarin.Forms.BindableProperty LargeTitleDisplayProperty" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Xamarin.Forms.BindableProperty</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="PreferredStatusBarUpdateAnimation">
<MemberSignature Language="C#" Value="public static Xamarin.Forms.PlatformConfiguration.iOSSpecific.UIStatusBarAnimation PreferredStatusBarUpdateAnimation (this Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt; config);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig valuetype Xamarin.Forms.PlatformConfiguration.iOSSpecific.UIStatusBarAnimation PreferredStatusBarUpdateAnimation(class Xamarin.Forms.IPlatformElementConfiguration`2&lt;class Xamarin.Forms.PlatformConfiguration.iOS, class Xamarin.Forms.Page&gt; config) cil managed" />
@ -124,6 +219,84 @@
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="SafeAreaInsets">
<MemberSignature Language="C#" Value="public static Xamarin.Forms.Thickness SafeAreaInsets (this Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt; config);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig valuetype Xamarin.Forms.Thickness SafeAreaInsets(class Xamarin.Forms.IPlatformElementConfiguration`2&lt;class Xamarin.Forms.PlatformConfiguration.iOS, class Xamarin.Forms.Page&gt; config) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Xamarin.Forms.Thickness</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="config" Type="Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt;" RefType="this" />
</Parameters>
<Docs>
<param name="config">To be added.</param>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="SafeAreaInsetsProperty">
<MemberSignature Language="C#" Value="public static readonly Xamarin.Forms.BindableProperty SafeAreaInsetsProperty;" />
<MemberSignature Language="ILAsm" Value=".field public static initonly class Xamarin.Forms.BindableProperty SafeAreaInsetsProperty" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Xamarin.Forms.BindableProperty</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="SetLargeTitleDisplay">
<MemberSignature Language="C#" Value="public static void SetLargeTitleDisplay (Xamarin.Forms.BindableObject element, Xamarin.Forms.PlatformConfiguration.iOSSpecific.LargeTitleDisplayMode value);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig void SetLargeTitleDisplay(class Xamarin.Forms.BindableObject element, valuetype Xamarin.Forms.PlatformConfiguration.iOSSpecific.LargeTitleDisplayMode value) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="element" Type="Xamarin.Forms.BindableObject" />
<Parameter Name="value" Type="Xamarin.Forms.PlatformConfiguration.iOSSpecific.LargeTitleDisplayMode" />
</Parameters>
<Docs>
<param name="element">To be added.</param>
<param name="value">To be added.</param>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="SetLargeTitleDisplay">
<MemberSignature Language="C#" Value="public static Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt; SetLargeTitleDisplay (this Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt; config, Xamarin.Forms.PlatformConfiguration.iOSSpecific.LargeTitleDisplayMode value);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig class Xamarin.Forms.IPlatformElementConfiguration`2&lt;class Xamarin.Forms.PlatformConfiguration.iOS, class Xamarin.Forms.Page&gt; SetLargeTitleDisplay(class Xamarin.Forms.IPlatformElementConfiguration`2&lt;class Xamarin.Forms.PlatformConfiguration.iOS, class Xamarin.Forms.Page&gt; config, valuetype Xamarin.Forms.PlatformConfiguration.iOSSpecific.LargeTitleDisplayMode value) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt;</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="config" Type="Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt;" RefType="this" />
<Parameter Name="value" Type="Xamarin.Forms.PlatformConfiguration.iOSSpecific.LargeTitleDisplayMode" />
</Parameters>
<Docs>
<param name="config">To be added.</param>
<param name="value">To be added.</param>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="SetPreferredStatusBarUpdateAnimation">
<MemberSignature Language="C#" Value="public static void SetPreferredStatusBarUpdateAnimation (Xamarin.Forms.BindableObject element, Xamarin.Forms.PlatformConfiguration.iOSSpecific.UIStatusBarAnimation value);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig void SetPreferredStatusBarUpdateAnimation(class Xamarin.Forms.BindableObject element, valuetype Xamarin.Forms.PlatformConfiguration.iOSSpecific.UIStatusBarAnimation value) cil managed" />
@ -210,5 +383,105 @@
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="SetSafeAreaInsets">
<MemberSignature Language="C#" Value="public static Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt; SetSafeAreaInsets (this Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt; config, Xamarin.Forms.Thickness value);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig class Xamarin.Forms.IPlatformElementConfiguration`2&lt;class Xamarin.Forms.PlatformConfiguration.iOS, class Xamarin.Forms.Page&gt; SetSafeAreaInsets(class Xamarin.Forms.IPlatformElementConfiguration`2&lt;class Xamarin.Forms.PlatformConfiguration.iOS, class Xamarin.Forms.Page&gt; config, valuetype Xamarin.Forms.Thickness value) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt;</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="config" Type="Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt;" RefType="this" />
<Parameter Name="value" Type="Xamarin.Forms.Thickness" />
</Parameters>
<Docs>
<param name="config">To be added.</param>
<param name="value">To be added.</param>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="SetUseSafeArea">
<MemberSignature Language="C#" Value="public static void SetUseSafeArea (Xamarin.Forms.BindableObject element, bool value);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig void SetUseSafeArea(class Xamarin.Forms.BindableObject element, bool value) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="element" Type="Xamarin.Forms.BindableObject" />
<Parameter Name="value" Type="System.Boolean" />
</Parameters>
<Docs>
<param name="element">To be added.</param>
<param name="value">To be added.</param>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="SetUseSafeArea">
<MemberSignature Language="C#" Value="public static Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt; SetUseSafeArea (this Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt; config, bool value);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig class Xamarin.Forms.IPlatformElementConfiguration`2&lt;class Xamarin.Forms.PlatformConfiguration.iOS, class Xamarin.Forms.Page&gt; SetUseSafeArea(class Xamarin.Forms.IPlatformElementConfiguration`2&lt;class Xamarin.Forms.PlatformConfiguration.iOS, class Xamarin.Forms.Page&gt; config, bool value) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt;</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="config" Type="Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt;" RefType="this" />
<Parameter Name="value" Type="System.Boolean" />
</Parameters>
<Docs>
<param name="config">To be added.</param>
<param name="value">To be added.</param>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="UseSafeAreaProperty">
<MemberSignature Language="C#" Value="public static readonly Xamarin.Forms.BindableProperty UseSafeAreaProperty;" />
<MemberSignature Language="ILAsm" Value=".field public static initonly class Xamarin.Forms.BindableProperty UseSafeAreaProperty" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Xamarin.Forms.BindableProperty</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="UsingSafeArea">
<MemberSignature Language="C#" Value="public static bool UsingSafeArea (this Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt; config);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig bool UsingSafeArea(class Xamarin.Forms.IPlatformElementConfiguration`2&lt;class Xamarin.Forms.PlatformConfiguration.iOS, class Xamarin.Forms.Page&gt; config) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="config" Type="Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt;" RefType="this" />
</Parameters>
<Docs>
<param name="config">To be added.</param>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
</Members>
</Type>

Просмотреть файл

@ -510,6 +510,7 @@
<Namespace Name="Xamarin.Forms.PlatformConfiguration.iOSSpecific">
<Type Name="BlurEffectStyle" Kind="Enumeration" />
<Type Name="Entry" Kind="Class" />
<Type Name="LargeTitleDisplayMode" Kind="Enumeration" />
<Type Name="NavigationPage" Kind="Class" />
<Type Name="Page" Kind="Class" />
<Type Name="Picker" Kind="Class" />
@ -2109,6 +2110,27 @@
<Link Type="Xamarin.Forms.PlatformConfiguration.iOSSpecific.NavigationPage" Member="M:Xamarin.Forms.PlatformConfiguration.iOSSpecific.NavigationPage.IsNavigationBarTranslucent(Xamarin.Forms.IPlatformElementConfiguration{Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.NavigationPage})" />
</Member>
</ExtensionMethod>
<ExtensionMethod>
<Targets>
<Target Type="T:Xamarin.Forms.IPlatformElementConfiguration`2" />
</Targets>
<Member MemberName="PrefersLargeTitles">
<MemberSignature Language="C#" Value="public static bool PrefersLargeTitles (this Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.NavigationPage&gt; config);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig bool PrefersLargeTitles(class Xamarin.Forms.IPlatformElementConfiguration`2&lt;class Xamarin.Forms.PlatformConfiguration.iOS, class Xamarin.Forms.NavigationPage&gt; config) cil managed" />
<MemberType>ExtensionMethod</MemberType>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="config" Type="Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.NavigationPage&gt;" RefType="this" />
</Parameters>
<Docs>
<param name="config">To be added.</param>
<summary>To be added.</summary>
</Docs>
<Link Type="Xamarin.Forms.PlatformConfiguration.iOSSpecific.NavigationPage" Member="M:Xamarin.Forms.PlatformConfiguration.iOSSpecific.NavigationPage.PrefersLargeTitles(Xamarin.Forms.IPlatformElementConfiguration{Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.NavigationPage})" />
</Member>
</ExtensionMethod>
<ExtensionMethod>
<Targets>
<Target Type="T:Xamarin.Forms.IPlatformElementConfiguration`2" />
@ -2132,6 +2154,29 @@
<Link Type="Xamarin.Forms.PlatformConfiguration.iOSSpecific.NavigationPage" Member="M:Xamarin.Forms.PlatformConfiguration.iOSSpecific.NavigationPage.SetIsNavigationBarTranslucent(Xamarin.Forms.IPlatformElementConfiguration{Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.NavigationPage},System.Boolean)" />
</Member>
</ExtensionMethod>
<ExtensionMethod>
<Targets>
<Target Type="T:Xamarin.Forms.IPlatformElementConfiguration`2" />
</Targets>
<Member MemberName="SetPrefersLargeTitles">
<MemberSignature Language="C#" Value="public static Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.NavigationPage&gt; SetPrefersLargeTitles (this Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.NavigationPage&gt; config, bool value);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig class Xamarin.Forms.IPlatformElementConfiguration`2&lt;class Xamarin.Forms.PlatformConfiguration.iOS, class Xamarin.Forms.NavigationPage&gt; SetPrefersLargeTitles(class Xamarin.Forms.IPlatformElementConfiguration`2&lt;class Xamarin.Forms.PlatformConfiguration.iOS, class Xamarin.Forms.NavigationPage&gt; config, bool value) cil managed" />
<MemberType>ExtensionMethod</MemberType>
<ReturnValue>
<ReturnType>Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.NavigationPage&gt;</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="config" Type="Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.NavigationPage&gt;" RefType="this" />
<Parameter Name="value" Type="System.Boolean" />
</Parameters>
<Docs>
<param name="config">To be added.</param>
<param name="value">To be added.</param>
<summary>To be added.</summary>
</Docs>
<Link Type="Xamarin.Forms.PlatformConfiguration.iOSSpecific.NavigationPage" Member="M:Xamarin.Forms.PlatformConfiguration.iOSSpecific.NavigationPage.SetPrefersLargeTitles(Xamarin.Forms.IPlatformElementConfiguration{Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.NavigationPage},System.Boolean)" />
</Member>
</ExtensionMethod>
<ExtensionMethod>
<Targets>
<Target Type="T:Xamarin.Forms.IPlatformElementConfiguration`2" />
@ -2155,6 +2200,27 @@
<Link Type="Xamarin.Forms.PlatformConfiguration.iOSSpecific.NavigationPage" Member="M:Xamarin.Forms.PlatformConfiguration.iOSSpecific.NavigationPage.SetStatusBarTextColorMode(Xamarin.Forms.IPlatformElementConfiguration{Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.NavigationPage},Xamarin.Forms.PlatformConfiguration.iOSSpecific.StatusBarTextColorMode)" />
</Member>
</ExtensionMethod>
<ExtensionMethod>
<Targets>
<Target Type="T:Xamarin.Forms.IPlatformElementConfiguration`2" />
</Targets>
<Member MemberName="LargeTitleDisplay">
<MemberSignature Language="C#" Value="public static Xamarin.Forms.PlatformConfiguration.iOSSpecific.LargeTitleDisplayMode LargeTitleDisplay (this Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt; config);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig valuetype Xamarin.Forms.PlatformConfiguration.iOSSpecific.LargeTitleDisplayMode LargeTitleDisplay(class Xamarin.Forms.IPlatformElementConfiguration`2&lt;class Xamarin.Forms.PlatformConfiguration.iOS, class Xamarin.Forms.Page&gt; config) cil managed" />
<MemberType>ExtensionMethod</MemberType>
<ReturnValue>
<ReturnType>Xamarin.Forms.PlatformConfiguration.iOSSpecific.LargeTitleDisplayMode</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="config" Type="Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt;" RefType="this" />
</Parameters>
<Docs>
<param name="config">To be added.</param>
<summary>To be added.</summary>
</Docs>
<Link Type="Xamarin.Forms.PlatformConfiguration.iOSSpecific.Page" Member="M:Xamarin.Forms.PlatformConfiguration.iOSSpecific.Page.LargeTitleDisplay(Xamarin.Forms.IPlatformElementConfiguration{Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page})" />
</Member>
</ExtensionMethod>
<ExtensionMethod>
<Targets>
<Target Type="T:Xamarin.Forms.IPlatformElementConfiguration`2" />
@ -2197,6 +2263,50 @@
<Link Type="Xamarin.Forms.PlatformConfiguration.iOSSpecific.Page" Member="M:Xamarin.Forms.PlatformConfiguration.iOSSpecific.Page.PrefersStatusBarHidden(Xamarin.Forms.IPlatformElementConfiguration{Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page})" />
</Member>
</ExtensionMethod>
<ExtensionMethod>
<Targets>
<Target Type="T:Xamarin.Forms.IPlatformElementConfiguration`2" />
</Targets>
<Member MemberName="SafeAreaInsets">
<MemberSignature Language="C#" Value="public static Xamarin.Forms.Thickness SafeAreaInsets (this Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt; config);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig valuetype Xamarin.Forms.Thickness SafeAreaInsets(class Xamarin.Forms.IPlatformElementConfiguration`2&lt;class Xamarin.Forms.PlatformConfiguration.iOS, class Xamarin.Forms.Page&gt; config) cil managed" />
<MemberType>ExtensionMethod</MemberType>
<ReturnValue>
<ReturnType>Xamarin.Forms.Thickness</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="config" Type="Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt;" RefType="this" />
</Parameters>
<Docs>
<param name="config">To be added.</param>
<summary>To be added.</summary>
</Docs>
<Link Type="Xamarin.Forms.PlatformConfiguration.iOSSpecific.Page" Member="M:Xamarin.Forms.PlatformConfiguration.iOSSpecific.Page.SafeAreaInsets(Xamarin.Forms.IPlatformElementConfiguration{Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page})" />
</Member>
</ExtensionMethod>
<ExtensionMethod>
<Targets>
<Target Type="T:Xamarin.Forms.IPlatformElementConfiguration`2" />
</Targets>
<Member MemberName="SetLargeTitleDisplay">
<MemberSignature Language="C#" Value="public static Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt; SetLargeTitleDisplay (this Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt; config, Xamarin.Forms.PlatformConfiguration.iOSSpecific.LargeTitleDisplayMode value);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig class Xamarin.Forms.IPlatformElementConfiguration`2&lt;class Xamarin.Forms.PlatformConfiguration.iOS, class Xamarin.Forms.Page&gt; SetLargeTitleDisplay(class Xamarin.Forms.IPlatformElementConfiguration`2&lt;class Xamarin.Forms.PlatformConfiguration.iOS, class Xamarin.Forms.Page&gt; config, valuetype Xamarin.Forms.PlatformConfiguration.iOSSpecific.LargeTitleDisplayMode value) cil managed" />
<MemberType>ExtensionMethod</MemberType>
<ReturnValue>
<ReturnType>Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt;</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="config" Type="Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt;" RefType="this" />
<Parameter Name="value" Type="Xamarin.Forms.PlatformConfiguration.iOSSpecific.LargeTitleDisplayMode" />
</Parameters>
<Docs>
<param name="config">To be added.</param>
<param name="value">To be added.</param>
<summary>To be added.</summary>
</Docs>
<Link Type="Xamarin.Forms.PlatformConfiguration.iOSSpecific.Page" Member="M:Xamarin.Forms.PlatformConfiguration.iOSSpecific.Page.SetLargeTitleDisplay(Xamarin.Forms.IPlatformElementConfiguration{Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page},Xamarin.Forms.PlatformConfiguration.iOSSpecific.LargeTitleDisplayMode)" />
</Member>
</ExtensionMethod>
<ExtensionMethod>
<Targets>
<Target Type="T:Xamarin.Forms.IPlatformElementConfiguration`2" />
@ -2243,6 +2353,73 @@
<Link Type="Xamarin.Forms.PlatformConfiguration.iOSSpecific.Page" Member="M:Xamarin.Forms.PlatformConfiguration.iOSSpecific.Page.SetPrefersStatusBarHidden(Xamarin.Forms.IPlatformElementConfiguration{Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page},Xamarin.Forms.PlatformConfiguration.iOSSpecific.StatusBarHiddenMode)" />
</Member>
</ExtensionMethod>
<ExtensionMethod>
<Targets>
<Target Type="T:Xamarin.Forms.IPlatformElementConfiguration`2" />
</Targets>
<Member MemberName="SetSafeAreaInsets">
<MemberSignature Language="C#" Value="public static Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt; SetSafeAreaInsets (this Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt; config, Xamarin.Forms.Thickness value);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig class Xamarin.Forms.IPlatformElementConfiguration`2&lt;class Xamarin.Forms.PlatformConfiguration.iOS, class Xamarin.Forms.Page&gt; SetSafeAreaInsets(class Xamarin.Forms.IPlatformElementConfiguration`2&lt;class Xamarin.Forms.PlatformConfiguration.iOS, class Xamarin.Forms.Page&gt; config, valuetype Xamarin.Forms.Thickness value) cil managed" />
<MemberType>ExtensionMethod</MemberType>
<ReturnValue>
<ReturnType>Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt;</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="config" Type="Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt;" RefType="this" />
<Parameter Name="value" Type="Xamarin.Forms.Thickness" />
</Parameters>
<Docs>
<param name="config">To be added.</param>
<param name="value">To be added.</param>
<summary>To be added.</summary>
</Docs>
<Link Type="Xamarin.Forms.PlatformConfiguration.iOSSpecific.Page" Member="M:Xamarin.Forms.PlatformConfiguration.iOSSpecific.Page.SetSafeAreaInsets(Xamarin.Forms.IPlatformElementConfiguration{Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page},Xamarin.Forms.Thickness)" />
</Member>
</ExtensionMethod>
<ExtensionMethod>
<Targets>
<Target Type="T:Xamarin.Forms.IPlatformElementConfiguration`2" />
</Targets>
<Member MemberName="SetUseSafeArea">
<MemberSignature Language="C#" Value="public static Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt; SetUseSafeArea (this Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt; config, bool value);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig class Xamarin.Forms.IPlatformElementConfiguration`2&lt;class Xamarin.Forms.PlatformConfiguration.iOS, class Xamarin.Forms.Page&gt; SetUseSafeArea(class Xamarin.Forms.IPlatformElementConfiguration`2&lt;class Xamarin.Forms.PlatformConfiguration.iOS, class Xamarin.Forms.Page&gt; config, bool value) cil managed" />
<MemberType>ExtensionMethod</MemberType>
<ReturnValue>
<ReturnType>Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt;</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="config" Type="Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt;" RefType="this" />
<Parameter Name="value" Type="System.Boolean" />
</Parameters>
<Docs>
<param name="config">To be added.</param>
<param name="value">To be added.</param>
<summary>To be added.</summary>
</Docs>
<Link Type="Xamarin.Forms.PlatformConfiguration.iOSSpecific.Page" Member="M:Xamarin.Forms.PlatformConfiguration.iOSSpecific.Page.SetUseSafeArea(Xamarin.Forms.IPlatformElementConfiguration{Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page},System.Boolean)" />
</Member>
</ExtensionMethod>
<ExtensionMethod>
<Targets>
<Target Type="T:Xamarin.Forms.IPlatformElementConfiguration`2" />
</Targets>
<Member MemberName="UsingSafeArea">
<MemberSignature Language="C#" Value="public static bool UsingSafeArea (this Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt; config);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig bool UsingSafeArea(class Xamarin.Forms.IPlatformElementConfiguration`2&lt;class Xamarin.Forms.PlatformConfiguration.iOS, class Xamarin.Forms.Page&gt; config) cil managed" />
<MemberType>ExtensionMethod</MemberType>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="config" Type="Xamarin.Forms.IPlatformElementConfiguration&lt;Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page&gt;" RefType="this" />
</Parameters>
<Docs>
<param name="config">To be added.</param>
<summary>To be added.</summary>
</Docs>
<Link Type="Xamarin.Forms.PlatformConfiguration.iOSSpecific.Page" Member="M:Xamarin.Forms.PlatformConfiguration.iOSSpecific.Page.UsingSafeArea(Xamarin.Forms.IPlatformElementConfiguration{Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Page})" />
</Member>
</ExtensionMethod>
<ExtensionMethod>
<Targets>
<Target Type="T:Xamarin.Forms.IPlatformElementConfiguration`2" />