iPhone上有导航栏的神秘功能障碍!

时间:2011-11-24 13:02:36

标签: iphone ios xcode uinavigationbar xcode4.2

我正在通过 Xcode 4.2 中的故事板制作带导航控制器的应用。

我希望在加载每个视图时隐藏所有导航栏,只需单击屏幕顶部的按钮,导航栏就会显示几秒钟(我已经使用过NStimer),然后隐藏再次。

到目前为止,我已设法做到这一点,但问题是,当我按下另一个视图然后返回上一个视图时,可以单击该按钮但导航栏不会再次出现。

这是我的代码:

-(void)viewDidLoad
{
    [self.navigationController setNavigationBarHidden:YES animated:YES];
}

-(IBAction)top {
    [self.navigationController setNavigationBarHidden:NO animated:YES];
    hideNavTimer = [NSTimer scheduledTimerWithTimeInterval:3
    target:self selector:@selector (HideNav)     userInfo:nil repeats:NO];
}

-(void)HideNav {
    [self.navigationController setNavigationBarHidden:YES animated:YES];
    [hideNavTimer invalidate];
    hideNavTimer=nil;
}

我在推送的每个视图中使用此代码。

我做错了什么?

1 个答案:

答案 0 :(得分:2)

你应该把它放在viewWillAppear:

-(void)viewWillAppear:(BOOL)animated:
{
    [super viewWillAppear:animated];
    [self.navigationController setNavigationBarHidden:YES animated:animated];
}