Растущее поле NSText при переносе слов - PullRequest
0 голосов
/ 29 января 2019

У меня есть поле NSText с включенной функцией AutoLayout внутри ячейки NSTableviews.Таким образом, текстовое поле (и ячейка, в которой он находится) увеличивается каждый раз, когда я добавляю «\ n», например, нажимая Enter.Но это работает только для такого переноса слов вручную.Если ширина TextFields достигнута, строка переносится автоматически, но высота Textfields не меняется.

Теперь я увидел несколько возможных решений с использованием подкласса NSTextField и переопределением intrinsicContentSize.Здесь:

Как разрешить NSTextField расти с текстом в автоматическом макете?

заставить NSTextField расти вместе с текстом в автоматическом макете?

но это не работает для меня.Это просто ничего не делает.Возможно, проблема в том, как я устанавливаю свои ограничения в ячейке просмотра таблицы, но тогда, если она успешно растет при выполнении переноса слов вручную, также должен быть способ сделать это при автоматическом переносе.

I 'Буду очень благодарен за помощь.Если вам нужна дополнительная информация, я могу загрузить свой код куда-нибудь.

Ответы [ 2 ]

0 голосов
/ 28 марта 2019

Используйте эти строки при установке значения для текстового поля

layoutSubtreeIfNeeded()
invalidateIntrinsicContentSize()
0 голосов
/ 30 января 2019

Вам нужно установить желаемую ширину в «Ширина первого макета времени выполнения» для этой метки.Это можно найти в Инспекторе размеров (маленький значок линейки на правой панели).

...