整个页面是一个网格。我试图将子网格放置在父网格的顶部。这适用于 Android。在 Apple 上也适用于 iPhone 14。在 iPhone 14 和 15 上,显示父子网格之间的空间。
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:mct="clr-namespace:CommunityToolkit.Maui.Behaviors;assembly=CommunityToolkit.Maui"
x:Class="IOSMauiAppGroupsOneApp.NewPage1"
Shell.BackgroundColor="{AppThemeBinding Light=#3856A8, Dark=#232234}"
Shell.NavBarIsVisible="False"
Title="NewPage1">
<ContentPage.Behaviors>
<mct:StatusBarBehavior StatusBarColor="{AppThemeBinding Light=#3856A8, Dark=#232234}" />
</ContentPage.Behaviors>
<Grid BackgroundColor="Red">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid Margin="0"
Grid.Row="0"
ColumnSpacing="16"
Padding="16,12,16,12"
HorizontalOptions="Fill"
VerticalOptions="Start"
BackgroundColor="{AppThemeBinding Light=#3856A8, Dark=#232234}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Button
Grid.Column="0"
Text="Сохранить"
BorderColor="White"
BackgroundColor="Transparent"
CornerRadius="8"
TextColor="White"/>
<Image
Grid.Column="3"
Source="icon_folder.png"
HorizontalOptions="EndAndExpand"
VerticalOptions="Center"
ToolTipProperties.Text="Открыть документ">
</Image>
<Image
Grid.Column="2"
HorizontalOptions="EndAndExpand">
</Image>
</Grid>
</Grid>
</ContentPage>
期望:子网格将与父网格的上边缘对齐。
https://github.com/dotnet/maui/issues/16617 链接到同一问题。它附有解决方法/修复程序。
如前所述,视图之间的额外空间似乎是 Apple 的初始设计。