如何在显示MasterDetail Master视图时删除额外的填充

时间:2018-01-11 20:54:40

标签: xamarin.forms iphone-x

当在iPhoneX上以横向模式打开Xamarin Forms MasterDetail窗口的主部分时,看起来不能移除用于容纳安全区域的填充,导致汉堡包和主视图之间存在巨大差距。这在iPhone 8上不存在。

iPhone X:

iPhone X hamburger

iPhone 8:

iPhone 8 hamburger

此外,主区域左侧的安全区域颜色与详细视图的颜色相同,如何使主视图的颜色延伸到此区域?

1 个答案:

答案 0 :(得分:0)

要扩展颜色,您只需设置页面的背景颜色,对于插图,您可以调整它们。

public YourPage()
{
    InitializeComponent();

    On<Xamarin.Forms.PlatformConfiguration.iOS>().SetUseSafeArea(true);
    BackgroundColor = Color.YourColor;
}

protected override void OnAppearing()
{
    base.OnAppearing();

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

请注意,如果您的应用可以在纵向和横向之间旋转,您可能需要override OnSizeAllocated来处理设置插图。