嵌入式 TableViewController 上未显示导航栏 - Swift
Navigation Bar Not Showing on Embedded TableViewController - Swift
我的 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?
首先,您可以在 Storyboard 中为 NavigationController 设置 storyboardID。然后,您可以编写如下代码。
(我假设您的视图控制器位于 "Main" 故事板中,您可以在身份检查器中设置故事板 ID)
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)
我的 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?
首先,您可以在 Storyboard 中为 NavigationController 设置 storyboardID。然后,您可以编写如下代码。 (我假设您的视图控制器位于 "Main" 故事板中,您可以在身份检查器中设置故事板 ID)
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)