Subklasse von UIAlertController

7

Bei Pre-iOS 8 mussten wir UIAlertView und UIActionSheet

verwenden

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?

    
Popeye 03.06.2014, 14:20
quelle

2 Antworten

1

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 .

    
vikingosegundo 21.06.2014, 23:46
quelle
24

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.

    
limon 30.11.2015 20:42
quelle