子视图执行push segue时隐藏视图的导航栏

时间:2014-11-08 16:08:55

标签: objective-c

我有一个分页的水平PageViewController,用于基于滑动的界面。 在其中一个视图中是一个导航控制器,它可以分割成第二个细节视图。

当第二个视图出现时,我想隐藏父视图的导航栏,但我不知道如何访问父视图上的任何方法。

我想在详细视图中会看起来像这样

-(void)viewWillAppear {
    [parentViewClassNameHere setNavigationBarHidden:YES];
}

如何在父母上设置可访问的方法?

1 个答案:

答案 0 :(得分:0)

导航栏实际上由UINavigationController拥有,其中父视图控制器和第二个视图控制器都被按下。因此,如果您从第二个视图控制器隐藏导航栏,则意味着您还要从父视图控制器隐藏该栏。

您可以使用

隐藏导航栏
[[secondDetailViewController navigationController] setNavigationBarHidden:YES animated:YES];

如果您仍希望在父级上拥有可访问的方法,请参阅此post以了解将实例提供给父视图控制器的不同方法。然后,您可以在实例上调用任何公共方法。