我的应用程序中有一个视图,可以根据需要显示或隐藏状态栏,并对过渡进行动画处理。当扩展状态栏处于活动状态时,它会向下推动我的视图20pt和屏幕外。
要解决这个问题,我需要在显示之前检测状态栏的高度,并触发动画来调整视图的大小:
- (BOOL)prefersStatusBarHidden {
return _statusHidden;
}
- (BOOL)prefersStatusBarUpdateAnimation {
return UIStatusBarAnimationSlide;
}
- (void)showStatusBar:(CGFloat)delay {
_statusHidden = NO;
// how do I set this value?
CGFloat extendedStatusBarHeight = ??? - 20;
[UIView animateWithDuration:0.2f delay:delay options:0 animations:^{
[self setNeedsStatusBarAppearanceUpdate];
self.wrapper.frame = CGRectMake(x,y,w,h - extendedStatusBarHeight)
} completion:nil];
}
如何显示状态栏的高度?
答案 0 :(得分:-2)
你可以试试这个:
CGRectGetHeight([UIApplication sharedApplication].statusBarFrame);