导航栏显示在故事板中但不是模拟器

时间:2015-07-20 09:05:36

标签: ios objective-c uitableview uinavigationcontroller uinavigationbar

以下是我的故事板,

并且ViewController(CaseInfo或VC2)显示导航栏

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

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

在VC1(CaseList)中:  我让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 个答案:

答案 0 :(得分:2)

在您的代码中,因为您已将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];
}