IOS의 안전 영역 레이아웃 가이드Safe Area Layout Guide on iOS

샘플 다운로드 샘플 다운로드Download Sample Download the sample

이 iOS 플랫폼 전용은 iOS 11 이상을 사용 하는 모든 장치에 안전 하 게 사용 되는 화면 영역에 페이지 콘텐츠를 배치 하는 데 사용 됩니다.This iOS platform-specific is used to ensure that page content is positioned on an area of the screen that is safe for all devices that use iOS 11 and greater. 있는지 확인 하는 데는 특히 장치 둥근된 모서리, 홈 표시기 또는 iPhone X에서 센서 하우징 하 여 해당 콘텐츠가 클리핑 되지 않습니다. 설정 하 여 XAML에서 사용 되는 Page.UseSafeArea 연결 된 속성을 boolean 값:Specifically, it will help to make sure that content isn't clipped by rounded device corners, the home indicator, or the sensor housing on an iPhone X. It's consumed in XAML by setting the Page.UseSafeArea attached property to a boolean value:

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

또는 fluent API를 사용 하 여 C#에서 사용할 수 있습니다.Alternatively, it can be consumed from C# using the fluent API:

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

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

Page.On<iOS> 메서드가 플랫폼별 iOS에만 실행 되도록 지정 합니다.The Page.On<iOS> method specifies that this platform-specific will only run on iOS. 합니다 Page.SetUseSafeArea 메서드, 합니다 Xamarin.Forms.PlatformConfiguration.iOSSpecific 네임 스페이스, 안전 영역 레이아웃 안내선 사용 되는지 여부를 제어 합니다.The Page.SetUseSafeArea method, in the Xamarin.Forms.PlatformConfiguration.iOSSpecific namespace, controls whether the safe area layout guide is enabled.

결과 모든 Iphone에 안전한 화면 영역을 페이지 콘텐츠를 배치 될 수 있습니다.The result is that page content can be positioned on an area of the screen that is safe for all iPhones:

참고

Apple에서 정의 되는 안전한 영역 xamarin.forms에서를 사용 설정 합니다 Page.Padding 속성인 고 설정 된이 속성의 이전 값을 재정의 합니다.The safe area defined by Apple is used in Xamarin.Forms to set the Page.Padding property, and will override any previous values of this property that have been set.

안전 영역을 검색 하 여 사용자 지정할 수 있습니다 해당 Thickness 값을 Page.SafeAreaInsets 메서드에서 Xamarin.Forms.PlatformConfiguration.iOSSpecific 네임 스페이스입니다.The safe area can be customized by retrieving its Thickness value with the Page.SafeAreaInsets method from the Xamarin.Forms.PlatformConfiguration.iOSSpecific namespace. 다음으로 수정 필요 하 고 다시 할당할 합니다 Padding page 생성자에서 속성 또는 OnAppearing 재정의:It can then be modified as required and re-assigned to the Padding property in the page constructor or OnAppearing override:

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

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