是的,我知道。您无法更改UIAlertController
的外观。我不想改变UIAlertController
本身的背景,我想改变视图背景的色调。你知道它是如何透明的黑色吗?我想改变那种颜色来清除。我该怎么做?
答案 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更改为您想要的任何颜色。 要固定拐角额外的颜色,请添加拐角半径并运行。 希望这会有所帮助!