这是两个截图,我的故事板:
我的模拟器:
我已将问题进一步定位。我有一个登录屏幕,如果用户没有登录我会显示。导航栏只有在登录后才能看到:我想这与我从登录界面切换到根视图控制器的方式有关。这是我的方式:
func switchToMainScreen() {
let rootController = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("homeView");
self.presentViewController(rootController, animated: true, completion: nil)
}
有人可以帮我解释为什么我的模拟器中没有Navbar + Navbar项目吗?
答案 0 :(得分:3)
我无法就您的声誉发表评论,检查"酒吧可见度"来自storyBoard的属性。确定它已经过检查,也许它未经检查。
我无法在我的回答中发布图片,请参阅以下链接以获取更多信息:
http://i.stack.imgur.com/1k4WU.png
告诉我检查其他赔率的结果。
<强> //更新强>
我认为您需要在NavigationController中嵌入viewController。我的意思是: 从storyBoard中删除你的NavigationController, 第二步选择你的viewController 然后从顶部菜单栏选择&#34;编辑器&#34; - &GT; &#34;嵌入&#34; - &GT; &#34; navigationController&#34; 它会自动创建一个可以包含导航项的导航项。
答案 1 :(得分:2)
从截图中看起来没问题。我唯一担心的是视图控制器中的导航栏标题为&#34;标题&#34;。
请你试试这个:
viewDidLoad:
,请尝试以下操作:- &GT;
self.navigationItem.title = @"My Title";
self.navigationItem.rightBarButtonItem = // Set your right bar button item here
编辑:发布OP问题更新:
由于您的入口点不是故事板驱动的,并且您有初始登录屏幕,我建议您创建自己的UINavigationController
并将故事板视图控制器嵌入其中,然后呈现它。它必须工作!!!
func switchToMainScreen() {
let rootController = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("homeView")
let navigationController = UINavigationController(rootViewController: rootController)
self.presentViewController(navigationController, animated: true, completion: nil)
}
PS:然后从故事板中删除嵌入式导航控制器。