0
let alert = UIAlertController(title: "Breaking Point Stack", message: "What's the average breaking point stack you have?", preferredStyle: UIAlertControllerStyle.alert)
alert.addTextField() { textField in
textField.backgroundColor = UIColor.clear
textField.useUnderLine()
}
self.present(alert, animated: true, completion: nil)
テキストフィールドには背景色も白い線も表示されませんが、警告コントローラが表示されてもテキストフィールドの背景は白と黒の境界線。UIAlertControllerのテキストフィールドの背景色を変更しても動作しません。
func useUnderLine() {
self.borderStyle = .none
self.layoutIfNeeded()
let border = CALayer()
let width = CGFloat(1.0)
border.borderColor = UIColor.white.cgColor
border.frame = CGRect(x: 0, y: self.frame.size.height - width, width: self.frame.size.width, height: width)
border.borderWidth = width
self.layer.addSublayer(border)
self.layer.masksToBounds = true
}
本当にデフォルトのUIAlertControllerの背景色を変更したい場合は、@bubuxuの答えが正しいです。しかし、アップルが新しいアップデートをプッシュしたときにあなたのコードを壊す可能性があるので、あなたは本当にそれをするべきではありません。これを行う最善の方法は、独自のアラートコントローラを作成することです。 –