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.
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.
Tags und Links objective-c autolayout nslayoutconstraint