如何在目标c中隐藏推送视图控制器的状态栏?

时间:2014-04-03 05:25:44

标签: ios objective-c cocoa-touch pushviewcontroller uistatusbar

点击按钮时会弹出一个注册表单。 我的目的是在弹出这个模态时隐藏状态栏。

这是我的代码:

- (IBAction)tappedJoinButton:(id)sender {

    if (![PFUser currentUser]) {

        PFSignUpViewController *signUpViewController = [[PFSignUpViewController alloc] init];
        [signUpViewController setDelegate:self]; // Set ourselves as the delegate

        // Present the sign up view controller
        [self presentViewController:signUpViewController animated:YES completion:NULL];
    }
}

我在plist文件中将基于View控制器的状态栏外观设置为yes。现在我想选择隐藏状态栏的位置。在这种情况下,我想将它隐藏在弹出的signUpViewController中。

我在这里没有看到任何答案,显示如何在推动的视图控制器中隐藏它。

我如何实现这一目标?

亲切的问候

5 个答案:

答案 0 :(得分:2)

如果您只想为一个ViewController隐藏状态栏,请执行以下操作:

- (void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated];
    [[UIApplication sharedApplication] setStatusBarHidden:YES];

}


- (void)viewWillDisappear:(BOOL)animated{
    [[UIApplication sharedApplication] setStatusBarHidden:NO];
    [super viewWillDisappear:animated];
}

对于您的情况,它将在PFSignUpViewController

希望这会有所帮助.. :)

答案 1 :(得分:1)

试试此代码

<{1}} viewDidload

中的

PFSignUpViewController

将此功能粘贴到控制器

 if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {
    // iOS 7
    [self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];
} else {
    // iOS 6
    [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
}

答案 2 :(得分:0)

你喜欢......

if ([UIApplication sharedApplication].statusBarHidden != hideStatusBar)
{

    [[UIApplication sharedApplication] setStatusBarHidden:hideStatusBar withAnimation:UIStatusBarAnimationSlide];
}

答案 3 :(得分:0)

将此内容写入viewWillAppear ...

       [[UIApplication sharedApplication] setStatusBarHidden:YES];

或尝试使用此方法......

       -(void)navigationController:(UINavigationController *)
   navigationController willShowViewController:(UIViewController *)
   viewController animated:(BOOL)animated

       {
          [[UIApplication sharedApplication] setStatusBarHidden:YES];

        }

答案 4 :(得分:0)

添加此&#34;查看基于控制器的状态栏&#34;在plist中出现并设置NO

  [[UIApplication sharedApplication] setStatusBarHidden:YES];