自 iOS 7 推出以来,我无法像在 iOS 6 中那样显示或隐藏带有动画的状态栏。现在我使用 NSTimer 来控制它何时隐藏。
这是我的代码:
- (void)hideStatusBar{
_isStatusBarHidden=YES;
[self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];
}
- (void)showStatusBar{
_isStatusBarHidden=NO;
[self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];
}
//===================
_controlVisibilityTimer = [[NSTimer scheduledTimerWithTimeInterval:4 target:self selector:@selector(hideStatusBar:) userInfo:nil repeats:NO] retain];
但遗憾的是,状态栏隐藏的方式似乎有点粗糙,并没有消失。有人有解决方案吗?
更新
我使用@hahaha 解决方案解决了隐藏问题。我只需要一个视图作为状态栏的背景,这是我的代码。
AppDelegate* appDelegate = (AppDelegate*)[[UIApplication sharedApplication]delegate];
self.StatusBarOrange = [[UIView alloc] initWithFrame:CGRectMake(0, 0, appDelegate.window.frame.size.width, 20)];
[self.StatusBarOrange setBackgroundColor:[UIColor orangeColor]];
[appDelegate.window.rootViewController.view addSubview:self.StatusBarOrange];
现在一切正常!