본문 바로가기
프로그래밍/App 개발

[Xamarin] UIModalPresentationStyle

by 엽기토기 2020. 10. 20.
반응형

정의

💡
iOS13부터 적용된 Modal 스타일
  • Page 전환 스타일을 설정할 수 있습니다.

사용법

이동하려는 Modal 페이지에 ModalPresentationStyle을 설정합니다.

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

public MyPage()
{
		On<iOS>().SetModalPresentationStyle(UIModalPresentationStyle.옵션);
}

PushAsync → PushModalAsync 함수를 호출합니다.

async void Button_Clicked(System.Object sender, System.EventArgs e)
{
     await Navigation.PushModalAsync(new MyPage());
}

UIModalPresentation 옵션

옵션은 총 5가지가 있습니다.

  • Automatic
  • FormSheet
  • FullSheet
  • OverFullScreen
  • PageSheet

Automatic

상황에 맞는 스타일을 System에서 선택합니다. (Image 선택 등)

PageSheet, FormSheet

화면에 페이지가 살짝 올라가 있는 듯한 모습의 스타일입니다.

iPhone에서 PageSheet과 FormSheet은 동일하게 표시 됩니다.

iPad에서 FormSheet은 팝업과 같이 상하좌우 여백이 생깁니다.

FullScreen, OverFullScreen

화면 전체를 덮는 스타일입니다.

OverFullScreen은 새로 띄운 페이지의 색상을 투명하게 하면 이전 페이지가 함께 보입니다.

Reference

IOS의 모달 페이지 표시 스타일 - Xamarin
샘플 다운로드 Download the sample 이 iOS 플랫폼별는 모달 페이지의 표시 스타일을 설정 하는 데 사용 되며, 투명 한 배경을 포함 하는 모달 페이지를 표시 하는 데에도 사용할 수 있습니다. This iOS platform-specific is used to set the presentation style of a modal page, and in addition can be used to display modal pages that have transparent backgrounds.
https://docs.microsoft.com/ko-kr/xamarin/xamarin-forms/platform/ios/page-presentation-style
View Controller Presentation Changes in iOS 13
In the case of Pommie, I think it's OK (and safe) if the user dismisses the entire Settings view controller away with a swipe from either the top screen or the Timer Profiles sub-screen (and most of the other sub-screens).
https://hacknicity.medium.com/view-controller-presentation-changes-in-ios-13-ac8c901ebc4e
iOS 13 ) UIModalPresentationStyle (1)
오늘은...슬랙을 보다가 흥미로운 쓰레드를 발견해서.. 바로 iOS 13에서 바뀐 modal presentation style 디자인....에 관한 질문과 답변들!! 보면서 생각도 안했던 부분들도 있고 그래서 저도 얼른 공부를 해야겠다고 생각했어요! :) iOS 13에 와서 ViewController를 present했는데.. 이런식으로 뜨게 바뀐거는 이제 다 아실거에요~~ 원래같으면 presenting view controller에 속한 view가 view계층에서 사라졌지만..
https://zeddios.tistory.com/828
반응형