2015-03-23 5 views
0

У меня очень простая настройка в моем приложении. Окно содержит один View Controller, который выглядит следующим образом:Autolayout: Высота не меняется, несмотря на «height> = constraint»

enter image description here

Вы можете видеть, что мнение NSTextField сообщения имеет height >= 150 ограничение с приоритетом 1000.

Все остальные ограничения не требуют пояснений (дайте мне знать, если они не являются).

Теперь, когда я могу изменить размер окна по горизонтали, высота окна остается фиксированной.

ответ

2

NSTextField не уважает ограничение, потому что (я думаю, что это причина), он имеет только одну строку. Используйте NSTextView для использования многострочных редактируемых полей ввода.

Использование NSTextView является решением проблемы.

+0

Вы, кажется, правы. Когда я не устанавливаю ограничение по высоте во всех текстовых областях, я становлюсь многострочным текстом. Однако установка ограничения размера работает, установка ограничения '> =', которое должно заставить текстовое поле расти, не работает. Я думаю, что это ошибка в авто-макете – Besi

0

В дополнение к ограничениям вы навязали в Interface Builder, поведение изменение размеров NSTextField также влияет на его Content обниматься Приоритет и Содержание его приоритета Прочность на сжатие.

enter image description here

Ваше сообщение текстовое поле быть предотвращено изменение размера, потому что его вертикальная Content обниматься Приоритет (степень, в которой она сопротивляется расширяется), вероятно, установлен на уровне 750. Измените это значение на 200 и посмотрите, есть ли у вас больше удачи.

Смежные вопросы