如何在 iPhone x 中设置安全区域布局

Posted

技术标签:

【中文标题】如何在 iPhone x 中设置安全区域布局【英文标题】:How to set Safe Area layout in iPhone x 【发布时间】:2018-08-23 21:27:11 【问题描述】:

我正在开发 Xamarin 表单应用程序,我的应用程序似乎在顶部设置了安全区域。但需要忽略它。

当前情景:

例外情况:

我已经对此进行了谷歌搜索并获得了以下链接,按照以下链接中的说明进行了尝试,但没有任何效果。

https://forums.xamarin.com/discussion/104945/iphone-x-and-safe-margins-with-xamarin-formshttps://blog.xamarin.com/making-ios-11-even-easier-xamarin-forms/

但不知道如何访问上述链接中提到的以下行中 Xamarin 表单内容页面下的 SetPrefersLargeTitles

On<Xamarin.Forms.PlatformConfiguration.iOS>().SetPrefersLargeTitles(true);

设置安全区域为真输出后如下图,

请帮我解决这个问题。

问候, 切兰

【问题讨论】:

转到顶部约束并制作第二个约束 superview.Top 【参考方案1】:

你可以像这样从 XAML 中做到这一点

xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core" 
ios:Page.UseSafeArea="true"

【讨论】:

我试过了,但这似乎是为父布局设置的填充,并且在上面的查询本身中更新了输出图像。【参考方案2】:

请参考Making iOS 11 Even Easier with Xamarin.Forms

我们使用Platform-Specifics 来实现它。

iOS 11 之前

On<Xamarin.Forms.PlatformConfiguration.iOS>().SetUseSafeArea(true);

iOS 11 或更新版本

var safeInsets  = On<Xamarin.Forms.PlatformConfiguration.iOS>().SafeAreaInsets();
safeInsets.Left = 24;
this.Padding = safeInsets;

【讨论】:

感谢您的更新。我的问题与以下链接相关,并按照链接中的说明使用,然后解决。 ***.com/questions/46184859/… 完美,这就是我想要的,谢谢。【参考方案3】:

需要创建或配置 LaunchScreend.storyboard。

使用这个code,为你的图片更改splash_screen

【讨论】:

【参考方案4】:

转到顶部约束并制作第二个 Item 约束 superview.Top

【讨论】:

【参考方案5】:
public ItemsPage() 
    InitializeComponent();

    On<Xamarin.Forms.PlatformConfiguration.iOS> ().SetUseSafeArea(true);

【讨论】:

您好,请不要发布“原始”代码 sn-ps 作为问题的答案。请至少添加一些解释。

以上是关于如何在 iPhone x 中设置安全区域布局的主要内容,如果未能解决你的问题,请参考以下文章

在iphone X的安全区域设置Webview

如何在 iPhone 中设置此布局需要一些帮助

我们如何在 uitableview 单元格中设置标签约束?

如何避免 iPhone X 上的视图剪辑

如何在 kivy 中设置网格布局的位置(x,y 坐标)?

SpriteKit - 安全区域布局 Iphone X