present로 띄웠는데 뒷배경이 안나와,, 와이라노 와이라노(feat. UIModalPresentationStyle, 화면띄웠는데 뒷배경이 사라졌을때)

2022. 2. 28. 10:18iOS/iOS memo

728x90
반응형

팝업창 뒷부분에 있는 뷰가 알파값을 주어도 투명하게 보이지 않고, 아예 날라가버리는? 현상에 대해 알아보다가

이참에 한번 읽고 정리해보려고 한다

 

UIModalPresentationStyle

  • fullScreen
  • currentContext
  • overFullScreen
  • overCurrentContext

 

이 둘의 공통점

fullScreen

currentContext

아래에 있었던 뷰 계층을 날려버린다. (투명한 배경 위에 팝업을 띄울건데 그 뒤에있는 뷰들을 날려버릴 것이므로 뒷 배경이 투명하게 비치는것이 아닌 그냥 무(없을무). 일것임)

 

 

이 둘의 차이점

fullScreen

currentContext

fullScreen은 디바이스의 스크린에 대응 하는 스타일

currentContext는 present를 지시하는 뷰컨트롤러의 view 위에서 표시가 된다

참고) https://magi82.github.io/ios-modal-presentation-style-01/

 

이 둘의 공통점

overFullScreen

overCurrentContext

when you want to show a modal screen with transparency, which enables users to see through the previous content below the new content.

옼께이,,, 뒷배경 투명하게(뒤에있는 배경이 은은허게 비칠 수 있도록)하는 팝업 만들때 유용쓰.

 

 

이 둘의 차이점

overFullScreen

overCurrentContext

definesPresentationContext값이 true로 설정되어 있건말건 overFullScreen 이놈은 다 덮어버림. 

overCurrentContext 반면 요놈은.. modal의 범위를 설정해줄 수 있다.

ex. 탭바 포함해서 덮을래~ 아니면 네비게이션만 덮을랭? 아니면 둘다 덮지말까.....ㅇㅋㅇㅋ

* DefinePresentationContext값이 true로 설정된 View Controller 위에 모달 화면을 표시(DefinePresentationContext값이 true로 설정된 ViewController는 내가 다 덮어버리겠소....)

 

OverCurrentContext

OverCurrentContext, on the other hand, can display the modal screen in full screen or not. It displays the modal screen on top of the current context  (the View Controller that has definesPresentationContext to true). So if the current context is shown full screen, then your modal screen will be shown in full screen too. Most of your view controllers will fall into this category. If you do not explicitly set definesPresentationContext to true, then most probably your modal screen will be shown in full screen. If the current context is not shown in full screen, then the modal screen will only be shown inside the bounds of the view of the current context. This can be achieved if you employ View Controller Containment, meaning you have container view controllers and then add child view controllers to the parent view controller.

 

https://happyteamlabs.com/blog/difference-of-overfullscreen-and-overcurrentcontext-modalpresentationstyle-in-ios/

 

Difference of OverFullScreen and OverCurrentContext in iOS

This post shows you the differences of OverFullScreen and OverCurrentContext modalPresentationStyles in iOS, and examples of screens that use them.

happyteamlabs.com

Thank 큐 dj sison ,,,, 깔끔하게도 정리해주었군.

728x90
반응형