꾸준히 안타치기
뷰컨트롤러를 호출해 화면전환 시 dissmiss 적용 안됨 해결 본문
반응형
화면전환하는 방법으로 뷰컨트롤러를 직접 호출해 화면을 전환하는 방법이 있다.
이때 호출 하는 방법으로는 스토리보드ID를 설정하고, 호출하려는 뷰컨트롤러에서 스토리보드 ID를 참조하고
self.present을 해준다. 그러면 다음화면으로 이동할수 있다.
// 회원가입 버튼 액션
@IBAction func joinBtn(_ sender: Any) {
print("RegisterViewController - 회원가입 버튼클릭")
// 회원가입 완료 화면으로 넘어가기
guard let uvc = self.storyboard?.instantiateViewController(withIdentifier: "JoinOKVC") else {
return
}
// 화면전환시 애니메이션 타입
uvc.modalTransitionStyle = UIModalTransitionStyle.coverVertical
// 인자값으로 뷰 컨트롤러 인스턴스를 넣고 프레젠트 메소드 호출
self.present(uvc, animated: true)
}
그리고 나서 호출된 뷰컨트롤러에서 창닫기 버튼을 누르면, 해당창이 사라지고 다시 호출한 뷰가 보이는 과정에서
dismiss를 사용했는데 dismiss가 적용이 되지 않아서 찾아보니 Detecting이 된 것같아
// self.presentationController?.dismissalTransitionDidEnd(true) 에서
self.dismiss(animated: true, completion: nil)로 변경해 적용하니 적용이 되었다.
import UIKit
class JoinOKVC: UIViewController {
@IBAction func dissmiss(_ sender: Any) {
// self.presentationController?.dismissalTransitionDidEnd(true)
self.dismiss(animated: true, completion: nil)
}
}
https://stackoverflow.com/questions/56568967/detecting-sheet-was-dismissed-on-ios-13
반응형
'iOS > 문제해결' 카테고리의 다른 글
Comments