UIAlertController删除模糊图层

时间:2017-09-23 23:46:28

标签: ios swift background-color layer uialertcontroller

使用自定义UIAlertController,我尝试将背景颜色设置为纯红色。但是,我正在获得另一个模糊的层。如何摆脱模糊层?

class CustomAlert: UIAlertController {
    override func viewDidLoad() {
        super.viewDidLoad()

        view.backgroundColor = UIColor.RED
    }
}

let popUpEmailVerification: CustomAlert = {
        let alert = CustomAlert(title: nil, message: "A verification email has been sent to your mailbox. Please open the link to finish verification.", preferredStyle: .alert)

    return alert
}()

image

1 个答案:

答案 0 :(得分:0)

据我所知,没有直接的API来达到你想要的效果。

但是,您可以通过弄乱警报的未记录的视图层次结构来执行您所描述的内容,如下所示:

let bgView = (alert.view.subviews.first?.subviews.first?.subviews.first!)! as UIView

然后设置bgView.backgroundColor = .red。这可能会在以后咬你。

或者,你可以在这里使用众多自定义警报库中的一个,SDCAlertView是我用过的一个很好的成功。