Вся страница представляет собой сетку. Я пытаюсь разместить дочернюю сетку поверх родительской. Это работает на 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.
В качестве альтернативы вы можете попробовать установить для безопасной области iOS значение false.
xmlns:ios="clr-namespace:Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific;assembly=Microsoft.Maui.Controls" ios:Page.UseSafeArea="True"