I tried to post that as a reply to @Wenyan Zhang (Shanghai Wicresoft Co,.Ltd.) , but it didn't work ¯_(ツ)_/¯
Thank you for your effort - Sorry for sharing possibly too less code.
You are right, Entry and Button are not inside the ListView:
< ... more stuff above ...>
<Label Text="Attendees"
Padding="0, 10"/>
<Border>
<VerticalStackLayout>
<ListView
ItemsSource="{Binding Persons}">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Grid RowDefinitions="*, Auto">
<Label Text="{Binding .}">
<BoxView HeightRequest="1"/>
</Grid>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<Grid ColumnDefinitions="*, 50">
<Entry Placeholder="New attendee"
Text="{Binding Attendee}"/>
<Button ImageSource="circle_plus_active.png"
BackgroundColor="Transparent"
Command="{Binding AddPersonCommand}"
Grid.Column="1"/>
</Grid>
</VerticalStackLayout>
</Border>
I tried your XAML, and if I use it isolated (=> takes full height), it works. As soon as I wrap it in a Border element or have other elements above, it does not. So this seems to be the restricting element in the iOS implementation.
As a workaround, I now use this:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<ListView
ItemsSource="{Binding Persons}">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
...
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<Grid ColumnDefinitions="*, 50"
Grid.Row="1">
<Entry Text="{Binding Attendee}"/>
<Button ImageSource="circle_plus_active.png"
BackgroundColor="Transparent"
Command="{Binding AddPersonCommand}"
Grid.Column="1"/>
</Grid>
</Grid>
This makes the Border element take the remaining space on the screen, so there is some space for the ListView to build up.