본문 바로가기

iOS

[iOS] fullScreen? overFullScreen? over가 붙으면 무엇이 다를까 (UIModalPresentationStyle)

UIViewController의 속성중에 modalPresentationStyle 란 것이 있습니다. 해당 뷰컨트롤러가 모달 형식으로 띄워질 때의 스타일을 지정할 수 있는 것이죠.

 

var modalPresentationStyle: UIModalPresentationStyle { get set }

 

스타일로 지정할 수 있는 타입의 기본값은 .automatic 이고 지정할 수 있는 값은 총 11가지가 있습니다.

 

이 중에서 .fullScreen.overFullScreen, .currentContext.overCurrentContext 처럼 prefix로 over가 붙으면 어떤 차이가 있는지 알아보려고 합니다!

 

정의를 먼저 살펴보면,

 

차이점은 presentation style 과 view presentation style 이네요...

 

설명만으로는 어떤 것인지 감이 오질 않습니다. 😑

 

간단하게 정리하자면 .fullScreen으로 화면을 띄우면 presentingViewController의 view들이 계층에서 사라집니다. 그러므로 새로 띄운 viewController의 배경을 투명하게 해도 아무것도 보이지 않게 되는 것이죠.

 

.overFullScreen으로 화면을 띄운다면? 이와 반대로 presentingViewController의 view들이 계층에서 사라지지 않고 살아있습니다. 그러므로 새 viewController의 배경을 투명하게 한다면 이전 화면의 모습이 보이게 됩니다.

 

.currentContext도 같은 방식으로 이해하시면 되겠습니다! 😎

태그