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

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

当前情景:

例外情况:

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

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

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

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

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

请帮我解决这个问题。

问候, 切兰

【问题讨论】:

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

标签: xamarin xamarin.forms xamarin.ios safearealayoutguide


【解决方案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;

【讨论】:

【解决方案3】:

需要创建或配置 LaunchScreend.storyboard。

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

【讨论】:

    【解决方案4】:

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

    【讨论】:

      【解决方案5】:
      public ItemsPage() {
          InitializeComponent();
      
          On<Xamarin.Forms.PlatformConfiguration.iOS> ().SetUseSafeArea(true);
      }
      

      【讨论】:

      • 您好,请不要发布“原始”代码 sn-ps 作为问题的答案。请至少添加一些解释。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-02
      • 2018-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多