更改UIAlertController背景色调

时间:2017-07-07 00:16:41

标签: ios swift uialertview

是的,我知道。您无法更改UIAlertController的外观。我不想改变UIAlertController本身的背景,我想改变视图背景的色调。你知道它是如何透明的黑色吗?我想改变那种颜色来清除。我该怎么做?

4 个答案:

答案 0 :(得分:2)

要迅速3 UIAlertController更改背景颜色。

let alert = UIAlertController(title: "validate",message: "Check the process", preferredStyle: .alert)
let dismissAction = UIAlertAction(title: "Dismiss", style: .destructive, handler: nil)
alert.addAction(dismissAction)
self.present(alert, animated: true, completion:  nil)
// change the background color
let subview = (alert.view.subviews.first?.subviews.first?.subviews.first!)! as UIView
subview.layer.cornerRadius = 1
subview.backgroundColor = UIColor(red: (195/255.0), green: (68/255.0), blue: (122/255.0), alpha: 1.0)

答案 1 :(得分:0)

您可以按如下方式更改背景颜色:

let alert = UIAlertController(title: "TITLE", message: "My message", preferredStyle: .alert)
if let subview = alert.view.subviews.first?.subviews.first?.subviews.first {
    subview.backgroundColor = .red
}
alert.view.tintColor = UIColor.black

答案 2 :(得分:0)

不,您无法更改透明背景颜色。这不属于您可以控制的UIAlertController变量的一部分。

你必须通过提供一个具有透明背景和伪造警报控制器的UI元素的新视图控制器来修复它。

要进一步批准您无法控制警报控制器,请在0,0上创建另一个框架原点视图,然后添加到警报控制器的视图中。它将显示在弹出窗口的左上角,而不是窗口的窗口

答案 3 :(得分:0)

尝试一下。

[alert.view setBackgroundColor:[UIColor whiteColor]];

尝试将whiteColor更改为您想要的任何颜色。 要固定拐角额外的颜色,请添加拐角半径并运行。 希望这会有所帮助!