Unerwarteter NSAutoresizingMaskLayoutConstraint, der UIView aus der Nib hinzufügt, um die Storyboard-Szene automatisch zu aktivieren

8

Ich habe Folgendes in IB und beide Ansichten haben "Auto Layout verwenden" aktiviert und "Größe der Subviews" deaktiviert.

Ich versuche einfach, eine Instanz der Autolayout-Ansicht zu einer Containeransicht hinzuzufügen, so dass ihre Kanten den Kanten der Containeransicht entsprechen. Die Containeransicht verwendet die Option "Auto-Layout" und hat die gleiche Höhe, aber die Breite ist doppelt so groß. Hier ist der Code:

%Vor%

Ein Fehler tritt auf:

%Vor%

Sieht so aus, als ob NSAutoresizingMaskLayoutConstraint automatisch in der Auto-Layout-Ansicht erstellt wird, nachdem sie als Unteransicht hinzugefügt wurde? Beim Drucken der Einschränkungen der Autolayout-Ansicht in didMoveToSuperview existiert sie noch nicht. Wie kann das gelöst werden? Ich wollte versuchen, Beschränkungen für die automatische Layout-Ansicht in IB als Platzhalter zu erstellen, die zur Build-Zeit ignoriert werden, aber bei IB sind alle automatischen Layout-Optionen für die automatische Layout-Ansicht deaktiviert.

    
user1192805 03.08.2014, 05:35
quelle

1 Antwort

28

Der einfachste Weg, diese Einschränkung zu entfernen, besteht darin, translatesAutoresizingMaskIntoConstraints Ihrer Ansicht auf false in Swift (oder auf NO in Objective-C) zu setzen. Sie können dies ohne irgendeinen Code tun. Sie können Schlüsselpfade im Interface Builder (Bildschirm angehängt) verwenden.

    
Rafał Augustyniak 03.08.2014, 14:41
quelle