Xcode全屏显示,隐藏状态栏,导航栏等

时间:2017-05-12 05:06:20

标签: ios objective-c xcode uinavigationbar statusbar

我有一个UIView,现在全屏显示,但有status barnavigation bartab bar等浮动,如果用户点按设备,我想隐藏并显示所有这些酒吧。我的问题是,我可能无法确定窗口中有多少个条形图,有没有办法通过window处理程序隐藏或显示所有现有的条形图,而不是逐个隐藏条形图。

现在我的代码如下:

@interface PdfViewController : UIViewController
{
BOOL _bounceBack;
BOOL _navigatioBarHidden;
BOOL _statusBarHidden;
IBOutlet UITapGestureRecognizer *_doubleTapRecognizer;
IBOutlet UITapGestureRecognizer *_singleTapRecognizer;
IBOutlet UINavigationBar *navigationBar;
}

- (IBAction)singleTap:(UITapGestureRecognizer *)sender {
NSLOGD_METADATAONLY();
_navigatioBarHidden = (_navigatioBarHidden)? NO: YES;
navigationBar.hidden = _navigatioBarHidden;
_statusBarHidden = (_statusBarHidden)? NO : YES;
[self setNeedsStatusBarAppearanceUpdate];
[sender requireGestureRecognizerToFail:_doubleTapRecognizer];
}

1 个答案:

答案 0 :(得分:0)

试试这个

您需要在视图控制器中实现prefersStatusBarHidden方法

 - (BOOL)prefersStatusBarHidden
{
    // If self.statusBarHidden is TRUE, return YES. If FALSE, return NO.
    return (self.statusBarHidden) ? YES : NO;
}

然后,在按钮单击方法中:或使用选择器进行更改

- (void)clickonView:(id)sender
{
    self.statusBarHidden = !self.statusBarHidden
    [self.navigationController setNavigationBarHidden:self.statusBarHidden animated:YES];

    // Update the status bar
    [UIView animateWithDuration:0.25 animations:^{
        [self setNeedsStatusBarAppearanceUpdate];
    }];
}