Ios 为什么我的页面内容从屏幕开始,然后向下调整?

Ios 为什么我的页面内容从屏幕开始,然后向下调整?,ios,xaml,xamarin,Ios,Xaml,Xamarin,我仅在Xamarin iOS项目中遇到此问题。Android版本工作正常 我有一个通过PushAsync推送的标准ContentPage。当页面加载时,内容从屏幕上加载,然后(看起来)在绑定完成后向下移动页面。我已经附加了一个屏幕,它显示加载的屏幕和一个它重新调整。 XAML文件 <ContentPage.Content> <AbsoluteLayout> <Frame Padding="10"

我仅在Xamarin iOS项目中遇到此问题。Android版本工作正常

我有一个通过PushAsync推送的标准ContentPage。当页面加载时,内容从屏幕上加载,然后(看起来)在绑定完成后向下移动页面。我已经附加了一个屏幕,它显示加载的屏幕和一个它重新调整。

XAML文件

<ContentPage.Content>
    <AbsoluteLayout>
        <Frame Padding="10"
               Margin="20, 20, 20, 20"
               BackgroundColor="AliceBlue"
               AbsoluteLayout.LayoutBounds="0, 0, 1, 1"
               AbsoluteLayout.LayoutFlags="SizeProportional">

            <StackLayout Margin="10">
                <Label Text="{Binding OutreachTitle}"
                       FontSize="Title"
                       TextColor="{StaticResource PrimaryTextColor}"
                       HorizontalOptions="Center" />
                <controls:HorizontalRuleControl RuleColor="{StaticResource SecondaryColor}" />
                <Label Text="{Binding OutreachText}"
                       Margin="0, 10, 0, 0"
                       TextColor="{StaticResource PrimaryTextColor}"
                       VerticalOptions="End"/>
            </StackLayout>
        </Frame>
    </AbsoluteLayout>
</ContentPage.Content>

我没有重现我这方面的问题。我建议您使用StackLayout而不是AbsoluteLayout

该问题可能是由ContentPage中的
视图的大小调整引起的,当您设置
绝对布局的
大小比例
时,大小将随着视图的更改而改变,这将导致内容从屏幕上加载:

<StackLayout>
    <Frame Padding="10"
           Margin="20, 20, 20, 20"
           BackgroundColor="AliceBlue"
           HorizontalOptions="FillAndExpand"
           VerticalOptions="FillAndExpand">

        <StackLayout Margin="10">
            <Label Text="{Binding OutreachTitle}"
                   FontSize="Title"
                   TextColor="Yellow"
                   HorizontalOptions="Center" />
            <Label Text="{Binding OutreachText}"
                   Margin="0, 10, 0, 0"
                   TextColor="Green"
                   VerticalOptions="End"/>
        </StackLayout>
    </Frame>
</StackLayout>


我按照您的建议将其更改为StackLayout,但收到了相同的结果。谢谢你的想法。你能告诉我你导航页面的代码吗?为什么导航到新页面后选项卡栏可见?我无法重现该问题。我正在使用Shell和惰性加载进行导航。推送此页面的调用方法如下:
wait Device.InvokeOnMainThreadAsync(async()=>{Preferences.Set(“SelectedOutreachTitle”,SelectedOutrach.OutreachTitle);Preferences.Set(“SelectedOutreachText”,SelectedOutrach.OutreachText);wait Shell.Current.Navigation.PushAsync(new OutreachPage());})否,我仍然无法重现该问题。我在官方示例的CatDetailPage中使用了您的布局,效果很好。