2017-07-07 16 views
1

はい、わかっています。 UIAlertControllerの外観を変更することはできません。私はUIAlertController自体の背景を変更したくない、私はビューの背景の色合いを変更したい。それは透明な黒の色のようにどのように知っていますか?私はその色をクリアして変更したい。どうすればいい?UIAlertControllerの背景の色合い

答えて

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 
+0

申し訳ありませんが、うまくいきませんでした... –

+0

ちょっと質問を編集しました – Lawliet

+1

このコードは多くの仮定をしています'UIAlertController'の私的なサブビュー構造についてです。それは今働くかもしれない。将来のiOSアップデートで破損する可能性があります。注意してください。 – rmaddy

0

んが、あなたが透明の背景色を変更することはできません。これはあなたが制御できる変数UIAlertControllerの一部に属しません。

透明な背景と偽装されたアラートコントローラのようなUI要素を備えた新しいView Controllerを提示することによって、修正する必要があります。

アラートコントローラの制御権がないことをさらに承認するには、0,0のフレーム原点を持つ別のビューを作成し、アラートコントローラのビューに追加します。あなたのウィンドウのウィンドウではなく、ポップアップウィンドウの左上隅に表示されます