【问题标题】:Swift; Multiple paths in navigation controller迅速;导航控制器中的多条路径
【发布时间】:2016-02-24 22:26:55
【问题描述】:

我正在使用情节提要构建一个 iOS 应用程序。我有一个导航控制器和多个视图控制器嵌入其中。见下图:

当我尝试走红色路径时,出现视图控制器 3 时出现错误:

override func viewWillAppear(animated: Bool) {
    navigationController!.setNavigationBarHidden(false, animated: true)
}

它给了我:

致命错误:在展开可选值时意外发现 nil

所以当我通过红色路径导航时,导航控制器似乎不可用。查看控制器 4 的所有其他路径都按预期工作。所有segues都是show (e.g. Push)

我在这里犯了一些明显的错误吗?

【问题讨论】:

  • 您的 navigationController 是否与 IBOutlet 连接?
  • 没有插座连接到导航控制器。
  • 你什么时候调用segue?按下按钮?
  • 来自 didSelectRowAtIndexPath..if tableView.cellForRowAtIndexPath(indexPath) is SimpleStoreTableViewCell { performSegueWithIdentifier("Show Store View", sender: indexPath.row) }
  • 如果把setNavigationBarHidden注释掉,segue还能用吗?

标签: ios swift uinavigationcontroller storyboard segue


【解决方案1】:

在使用 segue 类型(我把它放到 peprecated segues:Push 并返回到 Show (e.g. Push))之后,它成功了。我认为清洁也可以解决问题!

在导航控制器中让多条路径到达同一点是非常好的。

【讨论】:

    猜你喜欢
    • 2018-11-15
    • 1970-01-01
    • 2018-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-10
    • 1970-01-01
    • 2014-10-10
    相关资源
    最近更新 更多