Xamarin表单-状态栏与IOS中的内容重叠(安全区域插图问题)
在Xamarin形式中,我使用Xamarin表单-状态栏与IOS中的内容重叠(安全区域插图问题),xamarin,xamarin.forms,xamarin.ios,safearealayoutguide,Xamarin,Xamarin.forms,Xamarin.ios,Safearealayoutguide,在Xamarin形式中,我使用 <ContentPage xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core" ios:Page.UseSafeArea="true" > 使应用程序UI与iPhone X兼容,但它仅在iOS 11中工作。有人对如何在所有iOS设备上实现这一点有什么建议吗?安全区的概念是iPho
<ContentPage
xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
ios:Page.UseSafeArea="true" >
使应用程序UI与iPhone X兼容,但它仅在iOS 11中工作。有人对如何在所有iOS设备上实现这一点有什么建议吗?安全区的概念是iPhone X独有的,因此是iOS 11+独有的。无论如何,默认情况下,应用程序使用整个手机屏幕(与Android相反),因此,如果显示状态栏(如果需要,可以将其隐藏,但这是另一种情况),则应用程序将重叠 Xamarin.Forms
NavigationPage
将自动适应可用区域(其他可能也适用),但如果您使用的是裸ContentPage
,则必须自己处理
为了在不同的平台上以不同的方式处理事情,XAML中有OnPlatform
标记(请参阅)。这样,您就可以在ContentPage
<ContentPage.Padding>
<OnPlatform x:TypeArguments="Thickness">
<On Platform="iOS" Value="0,20,0,0" />
</OnPlatform>
</ContentPage.Padding>
这将防止页面与状态栏重叠。安全区域的概念是iPhone X独有的,因此是iOS 11+独有的。无论如何,默认情况下,应用程序使用整个手机屏幕(与Android相反),因此,如果显示状态栏(如果需要,可以将其隐藏,但这是另一种情况),则应用程序将重叠 Xamarin.Forms
NavigationPage
将自动适应可用区域(其他可能也适用),但如果您使用的是裸ContentPage
,则必须自己处理
为了在不同的平台上以不同的方式处理事情,XAML中有OnPlatform
标记(请参阅)。这样,您就可以在ContentPage
<ContentPage.Padding>
<OnPlatform x:TypeArguments="Thickness">
<On Platform="iOS" Value="0,20,0,0" />
</OnPlatform>
</ContentPage.Padding>
这将防止您的页面与状态栏重叠。我也尝试过此解决方案,但iphone X的顶部填充20是不够的,如果同时添加两种解决方案(填充20和UseSafeArea),则iphone X的间距将过大。我也尝试过此解决方案,但iphone X的顶部填充20是不够的,然后,如果同时添加两种解决方案(padding 20和useSafea),那么iPhoneX将有太多的间距。也许会有帮助。也许会有帮助。