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
를 사용하여 값을 Thickness
Page.SafeAreaInsets
검색하여 사용자 지정할 수 있습니다. 그런 다음 필요에 따라 수정하고 재정의의 Padding
속성에 OnAppearing
다시 할당할 수 있습니다.
protected override void OnAppearing()
{
base.OnAppearing();
var safeInsets = On<iOS>().SafeAreaInsets();
safeInsets.Left = 20;
Padding = safeInsets;
}