Я хотел бы предоставить несколько пикселей отступа вокруг NSTextView внутри NSScrollView. Я' мы просмотрели этот пост и с помощью setTextContainerInset добились цели для левого, правого и нижнего полей. Но как только текст прокручивается, верхний буфер теряется. То же самое с переопределением textContainerOrigin. Другой ответ в этом посте гласит:
То, как TextEdit делает это (в режиме «Перенос на страницу»), заключается в том, чтобы поместить текстовое представление внутри более крупного представления и установить это более крупное представление в качестве представления документа представления прокрутки.
Но если я это сделаю (используя, скажем, NSBox), контент больше не прокручивается. Я что-то упускаю из-за этого конкретного трюка, или есть другие методы, которые люди могут предложить?
В вашей цитате отсутствует шаг. Вам нужно убедиться, что ваш новый вид документа отслеживает изменения во фрейме текстового представления и подгоняет размер под себя. Вы можете включить NSViewFrameDidChangeNotification в текстовом представлении с помощью -setPostsFrameChangedNotifications:, а затем заставить новое представление документа прослушивать уведомления из текстового представления..