Я реализую пользовательское оповещение, где я устанавливаю цвет фона. Код ниже отлично работает, когда я сжимаю его в симуляторе, но когда я тестирую на iPhone, пользовательский фон накладывается шаблоном, как показано ниже.Swift UIAlertController background color
let alertController = UIAlertController(title: "Opções", message: "Deseja realmente excluir esse serviço?", preferredStyle: .Alert)
alertController.setValue(NSAttributedString(string: "Opções", attributes: [NSFontAttributeName : UIFont.systemFontOfSize(17),NSForegroundColorAttributeName : UIColor.whiteColor()]), forKey: "attributedTitle")
alertController.setValue(NSAttributedString(string: "Deseja realmente excluir esse serviço?", attributes: [NSFontAttributeName : UIFont.systemFontOfSize(17),NSForegroundColorAttributeName : UIColor.whiteColor()]), forKey: "attributedMessage")
alertController.view.tintColor = UIColor.whiteColor()
let backView = alertController.view.subviews.last?.subviews.last
backView?.layer.cornerRadius = 5.0
backView?.backgroundColor = corAzul
backView?.alpha = 1.0
let imageView = UIImageView(frame: CGRectMake(10, 15, 30, 30))
imageView.image = UIImage(named: "load")
alertController.view.addSubview(imageView)
let Action2 = UIAlertAction(title: "Excluir", style: .Default) { (action) in
Excluir()
}
let Action7 = UIAlertAction(title: "Cancelar", style: .Cancel) { (action) in
Cancelar()
}
alertController.addAction(Action2)
alertController.addAction(Action7)
viewController.presentViewController(alertController, animated: true) {}
Что может привести к этому? И как я могу это решить?
Лучше, на мой взгляд, не использовать UIAlertController вообще. Создание собственного оповещателя, представленного в виде представления, легко. – matt
Я делал это для некоторых случаев, но у меня есть несколько приложений для предупреждений о действиях в моем проекте. И было бы сложно сделать что-то полностью настраиваемое и заменить в любом проекте. –
Понял. Но настройка представления UIAlertController не поддерживается и (как вы видели) хрупкой. – matt