2022. 2. 28. 10:18ㆍiOS/iOS memo
팝업창 뒷부분에 있는 뷰가 알파값을 주어도 투명하게 보이지 않고, 아예 날라가버리는? 현상에 대해 알아보다가
이참에 한번 읽고 정리해보려고 한다
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.
Thank 큐 dj sison ,,,, 깔끔하게도 정리해주었군.
'iOS > iOS memo' 카테고리의 다른 글
The sandbox is not in sync with the Podfile.lock. (0) | 2022.09.14 |
---|---|
segue의 identifier를 설정해줄 수 없을때(feat. tabbarcontroller로 segue연결할때) (0) | 2022.03.02 |
야 UITapGestureRecognizer 제대로 묻는다(addBtn은 왜 함수 호출하는거야) (0) | 2022.02.24 |
imageView나 button의 터치영역 넓히기 (0) | 2022.02.23 |
tabbarcontroller에서 segue연결 해제 후, 다시 segue연결을 하려고 할때 주의할점(feat. tabbar 추가) (0) | 2022.02.23 |