XAML Xamarin如何删除iOS底部的额外空间

1sbrub3j  于 2023-10-14  发布在  iOS
关注(0)|答案(1)|浏览(132)

任何人都知道如何摆脱底部的白色空间,这只显示在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上工作.

tv6aics1

tv6aics11#

要在Xamarin iOS上删除屏幕底部的额外白色空间,您需要将ios:Page.UseSafeArea设置为false,如下所示:

<ContentPage ...
             xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
             Title="Home"
             ios:Page.UseSafeArea="false">
    <Grid RowSpacing="0">
        ...
    </Grid>
</ContentPage>

输出:

相关问题