2012-08-24 10 views
6

Ich verwende die automatische Layoutfunktion von Xcode zum ersten Mal in einem Projekt, in dem ich mehrere NSPopUpButtons habe. Nun, was ich erreichen möchte, ist, zwei popUpButtons in einer Reihe zusammen mit ihren Bezeichnungen zu haben, und wenn die Fenstergröße geändert wird, will ich beide popUpButtons ihre Breite justieren, während sie den horizontalen Abstand zwischen einander behalten.So ändern Sie die Größe einer Ansicht mithilfe des automatischen Layouts von Xcode

Aber egal wie ich die Einschränkungen anwende ich bekomme nur nicht die PopUpButtons, um ihre Größe mit dem Fenster zu ändern. Sie werden immer ihre horizontalen Abstandsbeschränkungen aufheben und nur den Abstand zu den Etiketten erhöhen/verringern. Ich hoffe, es wird ein wenig klarer, was ich von diesem Screenshot gemacht haben:

enter image description here

ich die Abstände festgelegt haben zwischen den Etiketten und den popUpButtons auf feste Werte mit 1000 Priorität und haben die Breite Zwänge fo die popUpButtons eingestellt größer oder gleich der ursprünglichen Größe sein.

Wie muss ich meine Einschränkungen so einstellen, dass die PopUpButtons ihre Größe ändern?

Antwort

13

Während diese Frage Schreiben wurde mir klar, was der Trick ist:

Im Größe Inspekteur der NSPopUpButton ich die Content Hugging Priority reduzieren musste.

enter image description here

Offensichtlich steuert diese, wie eng die Ansicht seinen Inhalt zu ‚umarmen‘ will. Wenn also die Umgehungspriorität höher ist als die Größenänderungspriorität, möchte die Ansicht ihre Größe nicht erhöhen, da dies bedeuten würde, dass zwischen ihren Grenzen und ihrem Inhalt mehr Leerraum ist.

Dann könnte ich in meinem speziellen Fall auch beide NSPopUpButtons mit der gleichen Breite und voilà verbinden: Die PopUpButtons passen sich perfekt an, während der Abstand konstant bleibt.

+0

Vielen Dank für das Teilen und Hinzufügen von Screenshots. +2 – JJD