Прямоугольник курсора в верхней части NSTextView - PullRequest
0 голосов
/ 15 марта 2011

Я реализовал стиль NSScrollView в стиле iOS, добавив подпредставление регулятора в NSScrollView. Реализация работает просто отлично, за исключением одного - изменение курсора на виде ручки.

Я использую NSView s -resetCursorRects метод для установки прямоугольника курсора.

- (void)resetCursorRects {
  [self addCursorRect:self.knobFrame cursor:[NSCursor pointingHandCursor]];
}

Это тоже работает, но курсор сразу сбрасывается в стиль IBeam, как только я пересекаю границу курсора.

Как я могу предотвратить это? Это как-то связано с непрозрачностью вида ручки?

ОБНОВЛЕНИЕ 0:


Я также пытался реализовать его с помощью обычного NSScroller и заставлять скроллер накладывать NSClipView в методе -tile представления прокрутки, но, похоже, независимо от того, какое представление расположено поверх NSTextView он всегда применяет тип курсора IBeam.

ОБНОВЛЕНИЕ 1:


Я нашел эту запись в списке рассылки , которая предлагает переопределить NSTextView s -mouseMoved, но, поскольку это не является удовлетворительным решением для надежной пользовательской реализации NSScrollView, на самом деле это не вариант.

1 Ответ

0 голосов
/ 16 марта 2011

Настройка NSTrackingArea в NSScroller с установленной опцией NSTrackingMouseMoved и реализация

- (void)mouseMoved:(NSEvent *)theEvent {
  [[NSCursor pointingHandCursor] set];
}

делает свое дело.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...