导航栏显示在情节提要中,但不显示在模拟器中

Posted

技术标签:

【中文标题】导航栏显示在情节提要中,但不显示在模拟器中【英文标题】:Navigation bar is showing in storyboard but not simulator 【发布时间】:2015-07-20 09:05:35 【问题描述】:

以下是我的故事板,

ViewController(CaseInfo 或 VC2)显示导航栏

http://i.imgur.com/nQqj1IQ.png

但在我的模拟器中,导航栏不显示!

在 VC1(案例列表)中: 我让VC1成为导航控制器的rootView

我通过选择“推送”选项将 VC1 链接到 VC2

然后我在点击VC1的表格项时使用代码:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
    CaseList *tagEditor = [self.storyboard instantiateViewControllerWithIdentifier:@"CaseInfo"];
    [self presentViewController:tagEditor animated:YES completion:nil];

但是VC2中的导航栏不显示

请帮帮我...

谢谢!!

-

顺便说一句

我也使用VC2(CaseInfo)中的代码

- (void)viewWillDisappear:(BOOL)animated

   [super viewWillAppear:animated];
   [self.navigationController setNavigationBarHidden:NO       animated:animated];

【问题讨论】:

【参考方案1】:

在您的代码中,由于您已将 VC2 和 VC1 与 segue 链接

你只需要开火

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
    [self performSegueWithIdentifier:@"segueid" sender:nil];

然后在prepareForSegue,传递一些数据。

或者

你可以删除VC2和VC1之间的segue

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
    CaseList *tagEditor = [self.storyboard instantiateViewControllerWithIdentifier:@"CaseInfo"];
    [self.navigationController pushViewController:tagEditor animated:true];

【讨论】:

谢谢!您立即解决了我的问题,并节省了我的时间:)

以上是关于导航栏显示在情节提要中,但不显示在模拟器中的主要内容,如果未能解决你的问题,请参考以下文章

iOS:不同情节提要中的 presentViewController 未显示导航栏

Swift 中的 Xcode:导航栏未显示在 UI 集合视图(模拟器)中

如何在 Xcode 的情节提要中显示状态栏

Xcode 选项卡栏项目在情节提要中不可见

为啥使用情节提要在 UIScrollView 中不显示内容

iOS11中缺少导航栏标题视图