我的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?
答案 0 :(得分:1)
首先,您可以在故事板中为NavigationController设置storyboardID。然后,您可以编写如下代码。 (我假设您的viewcontrollers位于" Main" storyboard中,您可以在Identity检查器中设置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)