Was ist der einfachste Weg, um eine UIAlertView zu machen, die von einer anderen Farbe getönt ist?
-
18-09-2019 - |
Frage
Meine Anwendung verwendet eine schwarze Navigationsleiste und andere benutzerdefinierte Farben für verschiedene UI-Komponenten und der dunkelblauen getönt Alarm Blick sieht wirklich fehl am Platz.
Ich möchte die Warnungsansicht durchscheinend schwarz machen, ohne auf die Verwendung einer Bilddatei zurückgreifen zu müssen.
Ich bin nicht die UIImage zu erzeugen, im Gegensatz, da ich, dass der einzige Weg um den Hintergrund zu ändern, ist eine UIImage zu verwenden, aber all meine Versuche (basierend auf Frage 1 unten) nur ein festes schwarzes Rechteck hinter dem machen Alarmansicht (die Ecken nicht abgerundet.)
Verwandte aber nicht duplizieren:
Die erste verwendet ein Bild „background.png“ damit als Hintergrund festlegen. Die zweite Frage Links zu dem ersten und beansprucht die OP sollten es nicht tun.
Lösung 2
Da die UIAlertView nicht erlauben die Hintergrundfarbe durch jede öffentliche API ändern, die einzige Möglichkeit, die Hintergrundfarbe anzupassen, ist UIAlertView Unterklasse.
Andere Tipps
Die Tatsache, dass es kein API-Hooks, dies zu tun soll eine rote Fahne sein - Sie sollten es nicht tun. Es ist nicht mit privaten APIs (die man eine Ablehnung erhalten), aber es ist nicht dokumentiert Verhalten nutzen, die von Apple rät. In der Tat war ich letzte Woche auf der iPhone Tech Talk speziell von einem Apple Dev Evangelist gewarnt, nicht Sachen wie diese zu tun, weil es in Zukunft brechen wird.
Wenn Sie wirklich Ihre eigene Sache tun wollen, wenn es um UIAlertViews kommt, sollten Sie Ihre eigene Ansicht erstellen und über einen Modal-View-Controller vor.