我的导航栏在哪里?

时间:2015-10-04 13:38:56

标签: ios

这是两个截图,我的故事板:

Storyboard

我的模拟器:

Emulator

我已将问题进一步定位。我有一个登录屏幕,如果用户没有登录我会显示。导航栏只有在登录后才能看到:我想这与我从登录界面切换到根视图控制器的方式有关。这是我的方式:

func switchToMainScreen() {
    let rootController = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("homeView");
    self.presentViewController(rootController, animated: true, completion: nil)
}

有人可以帮我解释为什么我的模拟器中没有Navbar + Navbar项目吗?

2 个答案:

答案 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;。

请你试试这个:

  1. 从故事板中删除导航控制器。
  2. 删除视图控制器中的自定义导航栏。
  3. 在故事板中选择您的View Controller,然后选择 &#34;编辑&#34;在你的菜单中,然后&#34;嵌入&#34; =&GT; &#34;导航控制器&#34;。
  4. 最后,在您的视图控制器中&#39; viewDidLoad:,请尝试以下操作:
  5. - &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:然后从故事板中删除嵌入式导航控制器。