最初我登录后有一个层次结构
-> 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
}
有没有什么方法可以将MyCoursesViewController作为rootViewController然后自动导航到课程信息UITabBarController,这样MyCoursesViewController就会在他们回击的层次结构上退出(退出课程)?
或者如果用户退出课程(回击)会更好,我们会以某种方式删除rootViewController并替换为新的rootViewController?另一个选择是,如果我们只是替换rootViewController,旧的是从内存中释放还是仍在某处引用?
e.g。
CourseInfo UITabBarController目前仍然是rootViewController,但现在我们将它与新的交换出来
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
答案 0 :(得分:1)
在AppDelegate中,您可以设置层次结构。尝试使用类似的东西:
typedef size_t size_type;