在Xamarin Forms中,我正在使用
<ContentPage
xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
ios:Page.UseSafeArea="true" >
使应用程序用户界面与iPhone X兼容,但它仅适用于iOS 11.任何人都有关于如何在所有iOS设备上运行此工作的建议吗?
答案 0 :(得分:2)
安全区域的概念是iPhone X独有的,因此适用于iOS 11+。无论如何,默认情况下,应用程序使用整个手机屏幕(而不是Android),因此,如果显示状态栏(您可以在需要时隐藏它,但这是另一个故事),您的应用程序将重叠它。
Xamarin.Forms NavigationPage
会自动适应可用区域(其他人也可能),但如果你使用裸ContentPage
,那么你必须要照顾自己。
要在不同平台上处理不同的事情,XAML中有OnPlatform
标记(请参阅here)。有了它,您可以为ContentPage
<ContentPage.Padding>
<OnPlatform x:TypeArguments="Thickness">
<On Platform="iOS" Value="0,20,0,0" />
</OnPlatform>
</ContentPage.Padding>
会阻止您的页面与状态栏重叠。