Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 리팩토링
- Clean Code
- UITextView
- ios
- swiftUI
- 애니메이션
- tableView
- clean architecture
- Xcode
- HIG
- 리펙토링
- Observable
- UICollectionView
- 리펙터링
- combine
- collectionview
- 클린 코드
- Refactoring
- rxswift
- Human interface guide
- 스위프트
- swift documentation
- Protocol
- ribs
- MVVM
- SWIFT
- uitableview
- uiscrollview
- RxCocoa
- map
Archives
- Today
- Total
김종권의 iOS 앱 개발 알아가기
[iOS - swift] 모달 화면 전환 overCurrentContext vs currentContext, fullScreen vs overFullScreen 본문
iOS 응용 (swift)
[iOS - swift] 모달 화면 전환 overCurrentContext vs currentContext, fullScreen vs overFullScreen
jake-kim 2024. 1. 4. 01:25over가 붙은 것과 붙지 않은 것의 차이
- over가 붙은 것은 띄우는 VC의 view들을 날리지 않고 바로 띄우는 것이고, over가 붙지 않으면 띄우는 VC의 뷰들을 날림
- 파란색 VC를 fullScreen로 띄운 경우
- 이전에 있던 UIView들을 날림 (아래 사진에서 두 개의 UITransitionView가 있을 때, 첫 번째 UITransitionView의 UIDropShadowView의 View들이 날아감)
- 파란색 VC를 overFullScreen으로 띄운 경우
- 파란색 VC앞에 있던 뷰들이 사라지지 않고 유지되어 있음
- -over를 붙이면 앞전의 view들이 사라있고, -over를 붙이지 않으면 view들이 사라짐
- -> 띄울 VC에서 viewWillAppear 프린트를 찍을때, 파란색 VC를 dismiss 한 경우 -over로 띄웠을때는 이미 view가 있어서 viewWillAppear가 호출되지 않음
접근성 관점
- 만약 띄우는 VC에 UITextField같은 것이 있고 여기에 포커싱 되어 있는 상태에서 새로운 VC를 over로 띄우면 새로운 VC에 포커싱이 안가는 이슈가 존재
- 만약 앞전의 뷰들이 보여지게 하고싶다면 .pageSheet를 사용할 것
currentContext vs fullScreen
- currentContext: 띄우는 VC의 view 크기에 맞게 새로운 VC를 present하는 것
- fullScreen: 무조건 디바이스 크기만큼의 VC를 present하는 것
ex) 띄우는 view의 크기를 아래처럼 설정한 경우
view.frame = .init(x: 120, y: 120, width: 100, height: 100)
(present(vc)할때 vc.view의 backgroundColor를 blue로 설정한 경우)
- fullScreen: 디바이스 사이즈만큼 VC를 띄움
- currentContext: 띄우는 VC.view의 크기만큼 VC를 띄움
* 참고
- https://developer.apple.com/documentation/uikit/uimodalpresentationstyle
'iOS 응용 (swift)' 카테고리의 다른 글
[iOS - swift] UIKit framework 저장 위치, Headers, Modules, UIKit.tbd 개념 (1) | 2024.01.15 |
---|---|
[iOS - swift] for문에서 Optional 간결하게 unwrap하는방법 (for문 unwrap) (0) | 2024.01.13 |
[iOS - swift] 디버깅 UserDefaults 간편 세팅 방법 (Arguments Passed On Launch) (21) | 2024.01.03 |
[iOS - swift] 네임스페이스 정의 방법 (enum, extension) (19) | 2024.01.02 |
[iOS - swift] Custom View와 protocol (커스텀 뷰 구현 시 프로토콜 사용하기, DIP) (21) | 2024.01.01 |
Comments