我有一个UIView
,现在全屏显示,但有status bar
,navigation bar
,tab 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];
}
答案 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];
}];
}