Ich habe eine Feder mit aktiviertem Autolayout, die die Ansichten eines Ansichtscontrollers enthält und separat ein Fenster mit einer Platzhalteransicht, um sie hinzuzufügen. Der Platzhalter hat Einschränkungen in Bezug auf seine Superansicht und andere Ansichten im Fenster, und bevor ich meinen View-Controller verwende, ändere ich die Größe des Platzhalters mit dem Fenster, wie ich es möchte. Später lade ich die Schreibfeder und füge ihre Top-Level-Ansicht als Unteransicht des Platzhalters hinzu, und ich erstelle auch manuell Abhängigkeiten, um sie an den Kanten des Platzhalters auszurichten.Autolayout verkleinert mein Fenster
Alles gut, und ich verwende dieses Muster in mehreren Instanzen innerhalb meiner App, aber in einigen dieser Fälle, nach Hinzufügen der Ansicht wird mein Fenster in der Größe geändert! Es wird auf die minimale Größe für die hinzugefügte Ansicht verkleinert, anstatt dass die Ansicht auf die aktuelle Größe des Fensters erweitert wird.
Bis jetzt habe ich die einzige Möglichkeit gefunden, dies zu verhindern, indem ich beim Hinzufügen der Ansicht und beim Erstellen ihrer Integritätsbedingungen den Rahmen der Ansicht auf die Anfangsgröße für den aktuellen Status des Platzhalters und Fensters festlegt. Das ist manchmal ok, aber ich möchte in der Lage sein, komplexere Einschränkungen zu definieren, die einfach jede Kante mit einem Platzhalter-Superview ausrichten. Ich möchte die Rahmenarithmetik nicht für jeden dieser Fälle codieren.
Weiß jemand, was los ist? Wenn das Fenster bereits die Größe meines Platzhalters diktiert und nicht umgekehrt, was muss ich tun, wenn ich die Unteransicht hinzufüge, damit die aktuelle Fenstergröße immer noch Vorrang hat?
Ich habe das Pop-up-Menü in Xcode IB-Fenster gesehen, die Einschränkungen betreffen, die nur Subviews vs auch Superview betreffen (für alle meine Nibs auf den vorherigen eingestellt), was passiert im Zusammenhang mit dieser Funktionalität? Darüber habe ich noch nichts gefunden.
Kann nicht festgelegt Sie nur eine Breite Einschränkung für die benutzerdefinierte Ansicht (Platzhalter) einstellen kann? – codingFriend1
Hat meine Post bearbeitet, um das klarer zu machen, hoffe ich. Mein Platzhalter verfügt bereits über Einschränkungen, um bei der Größenänderung des Fensters das richtige Verhalten zu erzielen. Das Hinzufügen von festen Größenbeschränkungen beim Hinzufügen der Unteransicht würde dies zerstören. –
Wenn Ihre Einschränkungen korrekt sind, dann würde die Größenänderung des Fensters funktionieren. –