相关疑难解决方法(0)

UIApplication.sharedApplication().在iOS 9中不推荐使用setStatusBarStyle()

我一直在用

UIApplication.sharedApplication().setStatusBarStyle()
Run Code Online (Sandbox Code Playgroud)

在我的appDelegate中,它运行良好,但自iOS 9以来,这种方法已被弃用,我找不到替代方案.

我想将整个应用程序的状态栏样式更改为.LightContent,但xCode给出的唯一建议是在每个VC中单独处理;

override func preferredStatusBarStyle() -> UIStatusBarStyle {
    return .LightContent
}
Run Code Online (Sandbox Code Playgroud)

有谁知道如何为整个应用程序这样做?

提前致谢

xcode statusbar ios swift ios9

38
推荐指数
3
解决办法
2万
查看次数

CGContextSaveGState:无效上下文0x0仅在设备上出错

更新:我正在使用Swift 2.0的XCode 7 Beta

当我尝试在iPhone上运行我的应用程序时,我得到以下3个错误:

<Error>: CGContextSaveGState: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
<Error>: CGContextTranslateCTM: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
<Error>: CGContextRestoreGState: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
Run Code Online (Sandbox Code Playgroud)

当我启用CG_CONTEXT_SHOW_BACKTRACE变量时,我得到这个:

Backtrace:
      <<redacted>+40>
       <<redacted>+432>
        <<redacted>+144>
         <<redacted>+172>
          <<redacted>+332>
           <<redacted>+112>
            <<redacted>+820>
             <<redacted>+688>
              <<redacted>+356>
               <<redacted>+80>
                <<redacted>+808>
                 <<redacted>+344>
                  <<redacted>+420>
                   <<redacted>+104>
                    <<redacted>+284>
                     <<redacted>+556>
                      <<redacted>+504>
                       <<redacted>+1792>
                        <<redacted>+220>
                         <<redacted>+284>
                          <<redacted>+920>
                           <<redacted>+168> …
Run Code Online (Sandbox Code Playgroud)

xcode core-graphics xcode7

26
推荐指数
2
解决办法
2万
查看次数

从iOS 9开始,如何为状态栏样式更改设置动画

所以我以前用过:

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent 
                                            animated:YES];
Run Code Online (Sandbox Code Playgroud)

动画状态栏样式的变化,从暗到亮,反之亦然

但是,自iOS 9起,此方法已弃用.

我更改为使用preferredStatusBarStyle以下@serenn的答案,而不是调用preferredStatusBarStyle

它确实可以改变旧式的状态栏样式,但没有动画.

文件说:

如果此方法的返回值更改,请调用setNeedsStatusBarAppearanceUpdate方法.

但是我不知道在哪里调用它,我试过把它放在viewWillAppear中,但没有运气.

preferredStatusBarUpdateAnimation 仍为默认值:UIStatusBarAnimationFade

所以我很困惑.寻找如何动画为已弃用方法的答案.提前致谢!

ios

14
推荐指数
1
解决办法
4532
查看次数

标签 统计

ios ×2

xcode ×2

core-graphics ×1

ios9 ×1

statusbar ×1

swift ×1

xcode7 ×1