美文网首页iOS日常须知
iOS动态修改statusBarStyle

iOS动态修改statusBarStyle

作者: 琴月阳 | 来源:发表于2018-04-10 17:47 被阅读204次

    A. View controller-based status bar appearance,字面意思很好理解,默认为NO,通过UIApplication.shared.statusBarStyle = .lightContent来修改statusBarStyle;


    B. View controller-based status bar appearance为YES时,通过重写preferredStatusBarStyle修改statusBarStyle,由于preferredStatusBarStyle是只读的,所以如果要根据业务逻辑动态修改statusBarSty le的话需要显式的调用setNeedsStatusBarAppearanceUpdate()方法,让系统再去读取一次更改后的preferredStatusBarStyle;


    注意:如果当前viewcontroller是navigationController的childViewController,通过重写preferredStatusBarStyle是不能修改statusBarStyle的,解决办法是要么重写UINavigationController的childForStatusBarStyle和childForStatusBarHidden(当导航栏隐藏时只需重写前者),返回visibleViewController;要么使用方法a。

    相关文章

      网友评论

        本文标题:iOS动态修改statusBarStyle

        本文链接:https://www.haomeiwen.com/subject/dyknhftx.html