ios - UIAlertController 删除模糊层

标签 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

最佳答案

据我所知,没有直接的 API 可以实现您想要的效果。

但是,您可以通过弄乱警报的未记录 View 层次结构来完成您所描述的操作,如下所示:

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

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

或者,您可以使用此处众多自定义警报库之一,SDCAlertView我已经使用过并取得了很好的成功。

关于ios - UIAlertController 删除模糊层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46385272/

相关文章:

ios - 将 UILabel 添加到 UITextField 的左侧

ios - 设置导航栏图标的大小 ios

ios - 使用 CGMutablePathRef 的缺点?

android - Listview 和 CustomAdapter 扩展 SimpleCursorAdapter

css - 取消背景 :#fff without cancelling out background-image

ios - 在不丢弃前一个场景的情况下在 SpriteKit 中呈现一个场景?

ios - 如何将坐标保存到 Firebase Swift 2

ios - 用其他自定义值替换零值

ios - 在 iOS7 中隐藏 tabBar 显示黑条

css - 我可以在悬停父 div 时更改嵌套图像的背景颜色吗?