2016년 12월 6일 화요일

UIViewController, Dismiss and Present @@ in Swift3 - Xcode 8.0 iOS 10

기존에 열려있는 firstViewController 를 Dismiss 하고 secondViewController를 Present 하기 위해
---------------------------------------------------------------------------------------
self.dismiss(animated: true, completion: {
  let vc = self.storyboard?.instantiateViewController(withIdentifier: "secondViewController")
  self.present(vc!, animated: true, completion: nil)
})
=========================================================================
아래 오류가 뜬다.
whose view is not in the window hierarchy!


이때는 뷰계층구조상 rootViewController를 사용해야한다.
---------------------------------------------------------------------------------------
self.dismiss(animated: true, completion: {
   let vc = self.storyboard?.instantiateViewController(withIdentifier: "secondViewController")
   let appDelegate = UIApplication.shared.delegate as! AppDelegate
   appDelegate.window?.rootViewController!.present(vc, animated: true, completion: nil) 
})
=========================================================================

이렇게 하면 기존의 firstViewController는 닫히고 secondViewController 가 열린다

댓글 1개:

추천 게시물

애플 개발자 등록방법 2016년 5월 8일 기준!!

애플 개발자 등록 절차 1. 개발자 등록 페이지 이동    애플 개발자 로그인 > Account 페이지 이동 > 하단 영역 클릭 (이미지 참조)   >> Enroll 클릭 >> 무조건 승인!! ...