【发布时间】:2015-10-25 16:37:57
【问题描述】:
我有一个应用程序的条款和条件页面视图,我试图在应用程序第一次打开时以模态方式显示该页面。我知道 performSegueWithIdentifier 方法在正确的时间被调用,但相应的视图从未加载。 viewDidLoad 将来永远不会调用视图控制器。据我所知,segue 标识符也正确匹配。这会导致出现空白黑屏。
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(true)
print("Here")
if !defaults.boolForKey("hasLaunchedBefore"){
defaults.setBool(true, forKey: "hasLaunchedBefore")
setSettingsForFirstTime()
self.performSegueWithIdentifier("firstTime", sender: self)
}
}
突出显示的 ViewController 是 segue 开始的地方,它应该在另一个导航控制器以及因此永远不会加载的条款和条件页面结束。顶部 ViewController 的导航控制器是应用程序的入口点。
【问题讨论】:
-
你在故事板中有一个奇怪的方案,NavigationController 应该是第一个,对于你的 TableViewController 你需要用 NavigationController 嵌入,然后从 TableView 到下一个 ViewController 进行 segue
-
TableViewController 嵌入在图片中看不到的导航控制器中。条款和条件 ViewController 嵌入在单独的 ViewController 中,因为这允许我在以模态方式呈现视图时为视图提供导航栏。我以前做过,没有问题,我不明白为什么会这样导致问题。
标签: ios swift uiviewcontroller segue viewdidappear