Xamarin 如何删除 iOS 上底部的多余空间

问题描述 投票:0回答:1

任何人都知道如何摆脱仅在 iOS 上显示的底部空白(Android 没问题)。这是一个基本网格,应该将红色第 2 行放在页面底部,但事实并非如此。

代码:

<ContentPage.Content>

<Grid RowSpacing="0">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="{OnIdiom Phone='50', Tablet='90'}"/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>

    <BoxView Grid.Row="0" Color="Blue"/>
    <BoxView Grid.Row="1" Color="Green"/>
    <BoxView Grid.Row="2" Color="Red"/>

</Grid>
</ContentPage.Content>

screenshot on ios (has white space on bottom)

screenshot on android (no white space)

我尝试过的其他事情:使用绝对布局以及使用verticaloptions=end在底部添加堆栈布局,但它导致了同样的事情——在iOS上有额外的空间但在android上有效。

c# xaml xamarin xamarin.forms xamarin.ios
1个回答
0
投票

检查此链接:https://learn.microsoft.com/en-us/xamarin/xamarin-forms/platform/ios/page-safe-area-layout

在您的内容页面中添加以下内容:

<ContentPage ...
         xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
         ios:Page.UseSafeArea="true">
© www.soinside.com 2019 - 2024. All rights reserved.