在iPhone上使用导航栏的神秘功能!
我正在用导航控制器通过故事板制作一个应用程序Xcode 4.2。在iPhone上使用导航栏的神秘功能!
我想在每个视图加载时隐藏所有的导航栏,点击屏幕顶部的按钮,导航栏应该显示几秒钟(我已经使用了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;
}
我在每个视图我推使用此代码。
我在做什么错?
你应该把它放在viewWillAppear中:
-(void)viewWillAppear:(BOOL)animated:
{
[super viewWillAppear:animated];
[self.navigationController setNavigationBarHidden:YES animated:animated];
}
我做过了,但当您返回到前一个视图时,它仍然不会显示导航栏。 –
我做了一个测试。在您提供的代码中,我切换了setNavigationBarHidden:NO。当我回到这个视图时,导航栏应该是可见的,但它不是。我想,当你从一个视图返回到前一个时,某些东西会保持“setNavigationBarHidden:YES”..... –
请人? –
我认为问题出在segue模式转换。有人可以帮我吗? –