我有一个UIViewController和一个childViewController。
childViewController或者占据整个屏幕或屏幕的一部分,覆盖在parentViewController之上。
当它占据整个屏幕时,我想要更改UIStatusBarStyle。
在我的plist中,我添加了View controller-based status bar appearance并将其设置为NO。
在childViewController中,我有以下内容:
-(UIStatusBarStyle)preferredStatusBarStyle {
if (self.isFullScreen) {
return UIStatusBarStyleDefault;
} else {
return UIStatusBarStyleLightContent;
}
}
-(UIStatusBarAnimation)preferredStatusBarUpdateAnimation {
return UIStatusBarAnimationFade;
}当从半屏和全屏转换时,我称之为:
[self setNeedsStatusBarAppearanceUpdate];但是我的UIStatusBar不改变外观从光到黑暗。
定期打电话到:
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];但是,工作很好,但是我想利用这个事实,我可以匹配动画块中的更改的动画持续时间。
谢谢。
发布于 2013-10-04 06:32:26
您应该在plist中设置UIViewControllerBasedStatusBarAppearance to YES以便使用-(UIStatusBarStyle)preferredStatusBarStyle方法。
https://stackoverflow.com/questions/19167382
复制相似问题