Oui, je sais. Vous ne pouvez pas modifier l'apparence d'un UIAlertController
. Je ne veux pas changer l'arrière-plan du UIAlertController
lui-même, je veux changer la teinte de l'arrière-plan de la vue. Tu sais comment c'est comme une couleur noire transparente? Je veux changer cette couleur pour effacer. Comment ferais-je cela?Modifier le fond d'UIAlertController Teinte
1
A
Répondre
0
Vous pouvez changer la couleur de fond comme suit:
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
Non, vous ne pouvez pas changer la couleur de fond transparent. Cela n'appartient pas à une partie de la variable UIAlertController
que vous pouvez contrôler.
Vous devrez le réparer en présentant un nouveau contrôleur de vue avec un arrière-plan transparent et un élément d'interface utilisateur similaire à celui d'un contrôleur d'alerte. Pour continuer à approuver, vous n'avez pas de contrôle pour le contrôleur d'alerte, créez une autre vue avec l'origine du cadre sur 0,0, puis ajoutez à la vue de votre contrôleur d'alerte. Il apparaîtra dans le coin supérieur gauche de votre fenêtre pop-up, pas la fenêtre de votre fenêtre
Désolé, cela n'a pas fonctionné ... –
Oh, je viens de réaliser que vous avez édité la question – Lawliet
Ce code fait beaucoup de suppositions à propos de la structure de sous-vue privée d'un 'UIAlertController'. Cela peut fonctionner maintenant. Il peut casser dans une future mise à jour iOS. Il faut se méfier. – rmaddy