Bei Pre-iOS 8 mussten wir UIAlertView
und UIActionSheet
Es war uns nicht erlaubt, die View-Hierarchie oder die Subclass auf beiden zu verwirren.
UIAlertView
Documentation
Die UIAlertView-Klasse ist so zu verwenden, wie sie ist und unterstützt keine Unterklassen. Die Ansichtshierarchie für diese Klasse ist privat und darf nicht geändert werden.
UIActionSheet
Dokumentation
UIActionSheet ist nicht für Unterklassen konzipiert, und Sie sollten auch keine Ansichten zu seiner Hierarchie hinzufügen. Wenn Sie ein Blatt mit mehr Anpassungen als von der UIActionSheet-API bereitgestellt präsentieren möchten, können Sie Ihre eigenen erstellen und modal mit presentViewController präsentieren: animated: completion:.
Allerdings hat Apple mit iOS8 UIAlertController
eingeführt, um sowohl UIAlertView
als auch UIActionSheet
zu ersetzen (Lesen Sie die Dokumentation zur Vorabversion hier ).
In dieser Vorabversionsdokumentation gibt es also nichts darüber, dass es nicht möglich ist, die View-Hierarchie abzuleiten oder zu ändern, es gibt sogar diese Methode addTextFieldWithConfigurationHandler:
, so dass wir die View-Hierarchie und / oder die Subclass UIAlertController
ändern können. ohne sich Sorgen zu machen, ob Apple unsere Anwendungen genehmigt oder ablehnt?
ViewController != View
. Die Richtlinie von Apple, das Aussehen eines UIAlertView
nicht zu ändern, hat keine Auswirkungen auf den präsentierenden View-Controller. Ich sehe keinen Grund, warum Sie nicht in der Lage sein sollten, den UIAlertController abzuleiten. Es kann jedoch schwieriger sein, die Alert-Ansicht durch eine benutzerdefinierte Erweiterung zu ersetzen, da die Alert-Ansicht jetzt nur indirekt von Klassen außerhalb Ihrer Kontrolle erstellt wird. Und für UIAlertView gleich Regeln gelten wie zuvor .
Es ist eine späte Antwort, aber direkt von Apple Dokumentation .
Die UIAlertController-Klasse soll unverändert verwendet werden und unterstützt keine Unterklasse. Die Ansichtshierarchie für diese Klasse ist privat und darf nicht geändert werden.
Also sollten Sie UIAlertController nicht von der Unterklasse ableiten.
Tags und Links objective-c uialertview uialertcontroller uiactionsheet