Wenn ich autoLayout in der benutzerdefinierten Zelle für TableView xib verwende, erhalte ich den folgenden Fehler.
Beim Ausführen im iOS 6-Simulator CustomCells 'Implementierung von -layoutSubviews muss super
aufgerufen werden %Vor%Bei Ausführung im iOS 5-Simulator
%Vor%Temp-Korrektur:
Es funktioniert gut, wenn ich das autoLayout in einer benutzerdefinierten Zelle deaktiviere. Aber die Handhabung der Ausrichtung ist in diesem Fall nicht in Ordnung. Bitte helfen.
Kann auf iOS6 bearbeitet werden, indem alles in eine benutzerdefinierte Tabellenansichtszelle in einer Containeransicht eingefügt wird. Dh Erstellen Sie eine neue Ansicht, um die Zelle zu füllen, und platzieren Sie Steuerelemente usw. darin. Stellen Sie außerdem sicher, dass Sie Folgendes festlegen:
%Vor%für den Container und die Subviews
iOS 5.1 und frühere Versionen sind nicht mit AutoLayout kompatibel. Es ist nur für iOS 6.0 +.
Angenommen, Sie verwenden Storyboards, wenn Sie AutoLayout verwenden und trotzdem die Kompatibilität mit iOS-Versionen vor 6.0 beibehalten möchten, müssen Sie zwei Ziele erstellen: eines für iOS 6 und eines für iOS 5 (oder früher). Legen Sie für jedes ein separates Storyboard fest, in dem AutoLayout aktiviert ist (für iOS 6), und eines, für das es nicht aktiviert ist (für iOS 5).
Hier ist ein StackOverflow-Thread für Best Practices mit AutoLayout und Abwärtskompatibilität mit iOS 5: Automatisches Layout in iOS 6 aktivieren und dabei rückwärtskompatibel mit iOS 5 bleiben .
Meiner Erfahrung nach lohnt es sich nicht, AutoLayout zu verwenden, wenn Sie Abwärtskompatibilität wünschen. Wenn Sie Storyboards verwenden, ist es ein großer Aufwand, zwei Ziele und zwei Storyboards zu synchronisieren. Wenn Sie keine Storyboards verwenden, benötigen Sie separaten Code für iOS 5 und iOS 6, der länger zum Testen und Aktualisieren benötigt.
Tags und Links iphone uitableview ios ios6