처음에 내가 로그인 후이 rootViewController 다음 다음보기로 이동 설정, 프로그램
-> MyCoursesViewController
-> CourseInfo UITabBarController
아래 계층 구조를 가지고 다음 다시 들어간다는 rootViewController가 올바른지 CourseInfo UITabBarController가 될 것입니다. 그러나 사용자가 다른 코스 (코스 종료)를 볼 필요가있을 때, 더 이상 스택에 없으므로 MyCoursesViewController로 '돌아갈'수 없습니다. AppDelegate에에서
:
if (inCourse) {
let storyboard : UIStoryboard = UIStoryboard(name: “Main”, bundle: nil)
let courseInfoTabController = storyboard.instantiateViewControllerWithIdentifier(“CourseInfo”) as! UITabBarController
self.window?.rootViewController = courseInfoTabController
} else {
let storyboard : UIStoryboard = UIStoryboard(name: “Main”, bundle: nil)
let myCoursesViewController = storyboard.instantiateViewControllerWithIdentifier(“MyCourses”)
self.window?.rootViewController = myCoursesViewController
}
난 코스 정보 UITabBarController가 그냥 그렇게 MyCoursesViewController들이 반격을 넣다 계층에로 이동합니다 자동으로 다음 rootViewController로 MyCoursesViewController을 넣을 수있는 몇 가지 방법이 있나요은 (과정을 종료) ?
사용자가 코스를 종료하면 (다시 히트) rootviewController를 삭제하고 새로운 rootViewController로 바꾸는 것이 좋습니다. 또 다른 옵션은 우리가 rootViewController를 대체하는 것인데, 이전 버전이 메모리에서 해제되거나 여전히 어딘가에서 참조 될 것인가?
CourseInfo UITabBarController가 현재 여전히 rootViewController하지만 지금 우리는 AppDelegate에 당신이 당신의 계층 구조를 설정할 수 있습니다에서 새
let mainStoryBoard = UIStoryboard(name: "Main", bundle: nil)
let myCoursesViewController = mainStoryBoard.instantiateViewControllerWithIdentifier(“MyCourses”) as! ViewController
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
appDelegate.window?.rootViewController = myCoursesViewController
: 같은 뭔가 시도 을'하자 내비게이션 바 = UINavigationController() navigationBar.setViewControllerers ([UIViewController()], 애니메이션 : false) self.window? .rootViewController = navigationBar' –