본문 바로가기
프로그래밍/Swift

swift viewWillAppear 가 호출 되지 않는 경우(present & dismiss)

by Mr-후 2022. 6. 24.
반응형

이건 뷰컨트롤러에서 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()가 호출 된다. 

 

끝. 

 

 

반응형