프로그래밍/Swift
swift viewWillAppear 가 호출 되지 않는 경우(present & dismiss)
Mr-후
2022. 6. 24. 16:35
반응형
이건 뷰컨트롤러에서 present로 모달창을 뛰운 뒤에 그 뷰컨트롤을 닫았을 때 viewWillAppear()가 호출되지 않는경우는 iOS 13부터 그런 현상이 생긴다. 완전한 새 창으로 모달창이 뜨는 것이 아니라 그런거라고 하니 너무 깊이는 알려고 하지 말자.
모달창을 뛰울 때 다음과 같은 옵션을 주면 창이 닫힐 때 이벤트를 받을 수 있다.
if let vc = UIStoryboard(name: "Home", bundle: nil).instantiateViewController(withIdentifier: "BookMarkViewController") as? BookMarkViewController {
vc.modalPresentationStyle = .fullScreen //fullscreen으로 뛰워야 ViewWillApear호추됨
self.uiManager.present(vc, nil, true)
}
요즘은 viewController의 modalPresentationStyle을 .fullScreen으로 설정해주고 뛰우면 해당 viewController가 닫혔을 때 viewWillApear()가 호출 된다.
끝.
반응형