일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- raywenderlich
- Lv2
- CollectionView
- arkit
- Flutter
- XCTest
- realm
- BOJ
- reactorkit
- swift
- tableView
- rxcocoa
- 백준
- WWDC24
- Xcode
- ios
- Swfit
- SwiftUI
- MVVM
- TCA
- combine
- UIKit
- visionOS
- RxSwift
- 프로그래머스
- SnapKit
- 패스트캠퍼스
- designpattern
- node.js
- Kuring
Archives
- Today
- Total
lgvv98
[iOS] present 이후 pushViewController 본문
present 이후 pushViewController
그러니까 내가 하고싶은 말은 modal로 띄워진 창에서 pushViewController가 먹히지 않는 상황에 대한 설명이다.
다른 포스팅은 스토리보드를 이용하고 있었고, 난 코드 기반으로 UI를 구성하기에 이에 대한 포스팅을 남겨두고자 함.
상황)
view A, B, C 세가지가 있다고 가정
👉 ViewA
viewA는 SceneDelegate에서 기본적으로 UINavigationController를 Embed in하고 있음.
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
guard let windowScene = (scene as? UIWindowScene) else { return }
window = UIWindow(windowScene: windowScene)
window?.backgroundColor = .systemBackground
window?.rootViewController = UINavigationController(rootViewController: ViewA())
window?.makeKeyAndVisible()
}
✅ 올바르게 작동하는 코드
// 올바르게 작동하는 코드
@objc
func goToViewB() {
let viewController = UINavigationController(rootViewController: ViewB())
viewController.modalPresentationStyle = .fullScreen
self.present(viewController, animated: true)
}
@objc
func goToViewA() {
let viewController = viewB()
self.navigationController?.pushViewController(viewController, animated: true)
}
🚨 잘못 작성한 코드
// 올바르게 작동하는 코드
@objc
func goToViewB() {
let viewController = ViewB()
viewController.modalPresentationStyle = .fullScreen
self.present(viewController, animated: true)
}
@objc
func goToViewC() {
let viewController = ViewC()
self.navigationController?.pushViewController(viewController, animated: true)
}
'apple > Docs, iOS, Swift' 카테고리의 다른 글
[iOS] UICollectionView에 대해서 알아보기 3편 (동적 Cell) (0) | 2022.08.22 |
---|---|
[iOS] 시뮬레이터에서 Remote Notification (푸시알림) (0) | 2022.08.17 |
[iOS] UICollectionView에 대해서 알아보기 2편 (0) | 2022.08.12 |
[iOS] UICollectionView에 대해서 알아보기 1편 (0) | 2022.08.11 |
[iOS] rootViewController 교체하기 (0) | 2022.08.10 |
Comments