我在我的UiTableViewController中嵌入了一个导航控制器,希望有一个导航栏。导航栏显示在故事板中,但在运行时它不显示。有没有其他人遇到这个问题,可以提供解决方案?我已经阅读了很多Stackoverflow帖子,但找不到一个有效的问题。
答案 0 :(得分:2)
您必须呈现普通表视图而不是导航控制器。您需要做的是将tableview作为导航控制器的根视图并显示导航控制器。
yourTableController *vc = //reference from storyboard
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:vc];
//then present the nav instead of tableview.
在Swift中:
var nav: UINavigationController = UINavigationController(rootViewController: vc)
//then present the nav
或者,如果您希望将tableview作为初始视图控制器,则将导航控制器(其根视图为表视图)作为故事板中的初始视图控制器。
答案 1 :(得分:0)
如果您通过[编辑器 - >嵌入 - >>添加了导航栏导航控制器]然后让你说你添加了一个UIBarButtonItem名称前进
你选择那个项目按钮并将其拖动到另一个视图控制器,它弹出说明你是否想要显示等等......你选择了segue show。
稍后您决定添加另一个UIBarButtonItem,然后将此按钮拖回主视图控制器。
在运行时,您现在看到一个空白空间尝试以下修复
1)确保您已在“故事板segue”中的两个segue中单击圆圈以识别此区域。
2)删除segue而不是导航栏!
3rd)通过将segue拖动到控制器来重新创建segue
问题应该解决,如果这个解决方案有帮助,请勾选。
答案 2 :(得分:0)
self.navigationController?.isNavigationBarHidden = false
if let _navigationItem = embeddedViewController?.navigationItem {
self.navigationController?.navigationBar.pushItem(_navigationItem, animated: false)
}