2017-09-23 6 views
0

カスタム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

+0

あなたが欠けているような気がします。何が「ぼやけた」のはなぜですか?実際に手助けをするには、コードと他のものの両方のコンテキストが必要です。 – dfd

+0

私は赤色の背景を設定しています、そして、あなたがコーナーで見ることができるように赤ですが、それに重なっている別の丸い角のある層があるようにも見えます。私が欲しいのは、赤いブロックです。実装コードを追加しました(編集を参照してください)。今は他に何もない。 –

答えて

0

あなたが望む効果を達成するためには直接的なAPIは、私の知る限り承知しているとして、ありません。

しかし、あなたはそうのように、警告の文書化されていないビュー階層をいじりで記述しているものを行うことができます。

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

、その後bgView.backgroundColor = .redを設定します。これは後であなたを噛んでしまう可能性があります。

また、多くのカスタムAlertライブラリの1つをここで使用することができます。SDCAlertViewは、私が成功して使用したものです。

関連する問題