iOS의 금고 영역 레이아웃 가이드

이 iOS 플랫폼별은 페이지 콘텐츠가 iOS 11 이상에서 사용하는 모든 디바이스에 안전한 화면 영역에 배치되도록 하는 데 사용됩니다. 특히 i전화 X의 둥근 장치 모서리, 홈 표시기 또는 센서 하우징으로 콘텐츠가 잘리지 않도록 하는 데 도움이 됩니다. 연결된 속성을 boolean 값으로 설정 Page.UseSafeArea 하여 XAML에서 사용합니다.

<ContentPage ...
             xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
             Title="Safe Area"
             ios:Page.UseSafeArea="true">
    <StackLayout>
        ...
    </StackLayout>
</ContentPage>

또는 흐름 API를 사용하여 C#에서 사용할 수 있습니다.

using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...

On<iOS>().SetUseSafeArea(true);

이 메서드는 Page.On<iOS> 이 플랫폼별이 iOS에서만 실행되도록 지정합니다. 네임스페이 Xamarin.Forms.PlatformConfiguration.iOSSpecific 스의 메서드는 Page.SetUseSafeArea 안전 영역 레이아웃 가이드를 사용할 수 있는지 여부를 제어합니다.

그 결과 모든 i전화에 대해 안전한 화면 영역에 페이지 콘텐츠를 배치할 수 있습니다.

안전 영역 레이아웃 안내선

참고 항목

Apple에서 Xamarin.Forms 정의한 안전 영역은 속성을 설정하는 Page.Padding 데 사용되며 설정된 이 속성의 이전 값을 재정의합니다.

안전 영역은 네임스페이스에서 메서드 Xamarin.Forms.PlatformConfiguration.iOSSpecific 를 사용하여 값을 ThicknessPage.SafeAreaInsets 검색하여 사용자 지정할 수 있습니다. 그런 다음 필요에 따라 수정하고 재정의의 Padding 속성에 OnAppearing 다시 할당할 수 있습니다.

protected override void OnAppearing()
{
    base.OnAppearing();

    var safeInsets = On<iOS>().SafeAreaInsets();
    safeInsets.Left = 20;
    Padding = safeInsets;
}