如何在iOS 9上更改全局色调?

时间:2015-08-26 11:01:38

标签: ios iphone uiactionsheet ios9 tintcolor

我有以下代码在iOS 8上完美运行:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    // some app initialization code comes here
    // ...

    // set the global tint color - works great on iOS 8!
    [[UIView appearance] setTintColor:[self myGlobalTintColor]];
}

但是,当我在iOS 9 beta 5(XCode 7,beta 6)上运行相同的代码时,在显示UIActionSheet(或UIAlertController)时会出现以下内容: enter image description here

正如您所看到的,"取消"按钮不接受全局色调颜色。这是iOS 9的已知问题,还是我错过了一些代码?

2 个答案:

答案 0 :(得分:2)

在iOS 9.0中,似乎只更改窗口色调有助于其他任何东西似乎都无法正常工作,包括appearanceWhenContainedIn:trick。

答案 1 :(得分:1)

在为ActionSheet使用UIAlertController时,请确保在显示警报控制器后设置色调颜色。

activityVC = UIActivityViewController(activityItems: objectsToShare, applicationActivities: appActivities)
presentViewController(activityVC!, animated: true, completion: nil)
activityVC?.view.tintColor = UIColor.snapdealBlueColor()