我可以更改UIAlertController
的颜色吗?标准颜色是蓝色。它非常接近标准的iOS应用程序。如果它是可定制的?我该如何改变颜色?例如一个按钮的颜色。如何更改UIAlertController的色彩颜色?
谢谢!
我可以更改UIAlertController
的颜色吗?标准颜色是蓝色。它非常接近标准的iOS应用程序。如果它是可定制的?我该如何改变颜色?例如一个按钮的颜色。如何更改UIAlertController的色彩颜色?
谢谢!
你可以只改变基本观点的tintColor
,然而,由于iOS的9(https://openradar.appspot.com/22209332)推出了一个已知的bug,在tintColor由应用程序窗口的tintColor
覆盖。
您可以:
变化在AppDelegate中的应用tintColor
。
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool {
self.window.tintColor = UIColor.redColor()
return true
}
重新应用完成块中的颜色。
self.presentViewController(alert, animated: true, completion: {() -> Void in
alert.view.tintColor = UIColor.redColor()
})
只需更改底层视图的tintColor。
[alertController.view setTintColor:[UIColor yellowColor]];
这实际上是可行的 – Jargen89
在斯威夫特,你可以做这样的事情:
let alert = UIAlertController(title: "Alert", message: "This is an alert.", preferredStyle: .Alert)
alert.addAction(UIAlertAction(title: "OK", style: .Default, handler: nil))
alert.view.tintColor = UIColor.redColor()
self.presentViewController(alert, animated: true, completion: nil)
正如@guidev所说的,有一个错误可以阻止提醒控制器履行你在其上设置的'tintColor'。 – NRitH
看起来这个bug可能已经修复了。我刚刚在Xcode 9.2(9C40b) - iOS 11中测试过,现在看起来工作正常。 –
在斯威夫特4和的Xcode 9.2
let alertView = UIAlertController(title: "", message: "", preferredStyle: .alert)
alertView.addAction(UIAlertAction(title: "CONFIRM", style: .default, handler: { (alertAction) -> Void in
//my logic
}))
alertView.addAction(UIAlertAction(title: "CANCEL", style: .default, handler: nil))
alertView.view.tintColor = UIColor.init(red: 45.0/255.0, green: 187.0/255.0, blue: 135.0/255.0, alpha: 1.0)
present(alertView, animated: true, completion: nil)
在UIAllertController添加一行:
alert.view.tintColor = UIColor.black
谢谢!工作很好。 – Beginner
是的,很棒! – Bill
alertController.view.tintColor = [UIColor yellowColor];对我来说工作得很好 – Jargen89