首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在UIStatusBarStyle中设置childViewController

在UIStatusBarStyle中设置childViewController
EN

Stack Overflow用户
提问于 2013-10-03 19:13:47
回答 1查看 1.1K关注 0票数 1

我有一个UIViewController和一个childViewController。

childViewController或者占据整个屏幕或屏幕的一部分,覆盖在parentViewController之上。

当它占据整个屏幕时,我想要更改UIStatusBarStyle。

在我的plist中,我添加了View controller-based status bar appearance并将其设置为NO

在childViewController中,我有以下内容:

代码语言:javascript
复制
-(UIStatusBarStyle)preferredStatusBarStyle {
    if (self.isFullScreen) {
        return UIStatusBarStyleDefault;
    } else {
        return UIStatusBarStyleLightContent;
    }
}

-(UIStatusBarAnimation)preferredStatusBarUpdateAnimation {
    return UIStatusBarAnimationFade;
}

当从半屏和全屏转换时,我称之为:

代码语言:javascript
复制
[self setNeedsStatusBarAppearanceUpdate];

但是我的UIStatusBar不改变外观从光到黑暗。

定期打电话到:

代码语言:javascript
复制
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];

但是,工作很好,但是我想利用这个事实,我可以匹配动画块中的更改的动画持续时间。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-04 06:32:26

您应该在plist中设置UIViewControllerBasedStatusBarAppearance to YES以便使用-(UIStatusBarStyle)preferredStatusBarStyle方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19167382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档