【发布时间】:2015-01-28 22:54:33
【问题描述】:
我正在使用下面的代码来尝试更改 UINavigationController 中显示的 viewController:
var mainStoryboard = UIStoryboard(name: "Main", bundle: nil)
var navigationController:UINavigationController = mainStoryboard.instantiateViewControllerWithIdentifier("navController") as UINavigationController
var homeViewController: UIViewController = mainStoryboard.instantiateViewControllerWithIdentifier("HomeView") as UIViewController
navigationController.popViewControllerAnimated(false)
navigationController.pushViewController(homeViewController, animated: false)
var topController = navigationController.topViewController as UIViewController
println("homeview id:\(homeViewController.restorationIdentifier)")
println("topview id: \(topController.restorationIdentifier)")
这里是故事板:
第一个问题:为什么当我在这个例子中删除popViewControllerAnimated函数调用时,即使我推了顶视图仍然是LoginView主视图? (不应该是最后一个推送的视图控制器吗?)
第二个问题:当我保持 popViewControllerAnimated 函数调用时,我得到了正确的顶视图(我的 topView 现在是 HomeView 正如预期的那样)但是屏幕上显示的 ViewController 仍然是 loginView。为什么新的 TopViewController 没有出现呢?
谢谢
【问题讨论】:
标签: ios xcode swift uinavigationcontroller storyboard