任何人都知道如何摆脱仅在 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>
我尝试过的其他事情:使用绝对布局以及使用verticaloptions=end在底部添加堆栈布局,但它导致了同样的事情——在iOS上有额外的空间但在android上有效。
检查此链接: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">