Метод AdjustScroll в NSTextView - PullRequest
       21

Метод AdjustScroll в NSTextView

2 голосов
/ 28 марта 2010

Я пытаюсь реализовать прокрутку пишущей машинки в моем текстовом редакторе Какао, сохраняя точку вставки по центру вертикально в виде прокрутки.

С этой целью я подклассифицировал NSClipView, чтобы обеспечить метод scrollToPointWithoutConstraint, который прокручивает документ до указанной точки без вызова constrainScrollPoint. Это необходимо, потому что для коротких документов точка вставки не может быть отцентрирована, если мы не прокручиваем границы документа.

Пока это кажется достаточно простым и делает то, что я хочу. Проблема возникает, когда я пытаюсь прокрутить, используя полосы прокрутки. Если я прокручиваюсь до конца документа, так что часть представления прокрутки содержит область за пределами границ документа, попытка прокрутки вверх с небольшим приращением заставляет представление прокрутки прыгать, немедленно зажимая фактические границы документа.

Я понял, что мне может понадобиться создать подкласс NSTextView и переопределить метод adjustScroll; вот где начинается мой актуальный вопрос. Размер proposedVisibleRect, который передается в adjustScroll, уже настроен так, что он лежит в пределах фактических границ документа. Есть ли способ изменить значение proposedVisibleRect до вызова adjustScroll? Или я не совсем согласен с этим? Любые предложения будут с благодарностью.

...