Редактировать текст в NSOutlineView как Finder - PullRequest
0 голосов
/ 15 января 2019

Если вы переименуете файл в Finder, текстовое поле расширяется по горизонтали примерно до ширины столбца. И затем он расширяется по вертикали до трех рядов перед прокруткой. Я предполагаю, что это должно быть сделано в текстовом поле за пределами представления схемы. И я могу получить текстовое поле для изменения размера во время ввода. Я просто не знаю, как разместить его над контуром, когда это необходимо. И держите это прикрепленным к ряду, если представление схемы прокручивается. У кого-нибудь есть идеи? Спасибо!

1 Ответ

0 голосов
/ 16 января 2019

Редактирование текста выполняется специальным NSText и называется «полевым редактором». Этот общий вид используется для всего редактирования текста, которое происходит в окне. Он отличается от того, что обычно отображает текст (если он не редактируется).

Вот документы: https://developer.apple.com/documentation/appkit/nswindow/1419647-fieldeditor

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

Представитель окна может заменить пользовательский редактор полей вместо редактора полей окна, реализовав windowWillReturnFieldEditor (_: to :). Редактор настраиваемого поля может стать редактором по умолчанию (общим для всех отображающих текст объектов) или специфичным для конкретного отображаемого текста объекта (объекта).

NSControl Документы также содержат раздел о редакторе полей, который может помочь.

...