【问题标题】:Navigation Bar Not Showing on Embedded TableViewController - Swift嵌入式 TableViewController 上未显示导航栏 - Swift
【发布时间】:2017-01-27 19:13:24
【问题描述】:

我的 TableViewController 中嵌入了 NavigationController。当我运行应用程序时,一切正常,但导航栏不显示。

这就是我的代码的样子:

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    let box = boxes[indexPath.row]
    print(box.name)



    if let storyboard = self.storyboard {
        let viewController = storyboard.instantiateViewController(withIdentifier: "BoxDescriptionTVC") as! BoxDescriptionTableViewController
        self.present(viewController, animated: false, completion: nil)
        viewController.boxDetailsLabel.text = box.boxDescription
        if let boxImageURL = box.boxImageURL {
            viewController.boxImageView.loadImageUsingCacheWithUrlString(urlString: boxImageURL)
        }
    }
}

如何创建我的 NavigationController 的实例来展示它而不是 TableViewController?

【问题讨论】:

  • 您应该创建导航控制器的实例并显示它而不是 BoxDescriptionTVC。
  • 如何创建我的 NavigationController 的实例来展示它而不是 TableViewController?

标签: swift uitableview uinavigationcontroller ios10 xcode8


【解决方案1】:

首先,您可以在 Storyboard 中为 NavigationController 设置 storyboardID。然后,您可以编写如下代码。 (我假设您的视图控制器位于“主”情节提要中,您可以在身份检查器中设置情节提要)

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let boxDescriptionNavVC = storyboard.instantiateViewControllerWithIdentifier(BoxDescriptionNavID) as! UINavigationController
let destinationTableViewVC = boxDescriptionNavVC.topViewController as! YourTableViewVC
destinationTableViewVC.textVariable = box.boxDescription
presentViewController(boxDescriptionNavVC, animated: true, completion: nil)

【讨论】:

  • 从控制台得到这个:致命错误:在展开可选值时意外发现 nil。它在这一行被触发:viewController.boxDetailsLabel.text = box.boxDescription
  • 您的嵌入式导航控制器的 Storyboard ID 是什么?您是否将完全相同的 ID 放在了 instantiateViewControllerWithIdentifier 函数中?
  • 我把这个:“BoxDescriptionNavID”
  • 好的。我知道了。发生该错误是因为您的 boxDescriptionNavVC 没有 UILabel 控件。我会尽快修改答案。
  • 完成。希望它能解决你的问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-30
  • 1970-01-01
相关资源
最近更新 更多