Пользовательский NSScrollers имеющий странного эффекта от Базовой Анимации

Я делаю пользовательский NSScrollers для использования в NSScrollView. Но когда любое из суперпредставлений NSScroller добирается, Базовая Анимация включила. Я получаю эту проблему рисунка, это - огромная неприятность. Каждый раз, когда я прокручиваю в углы представления прокрутки клип скроллеров. Но если скроллер начинает тянуть в углу, часть скроллера остается в том углу. Что могло вызывать эту проблему? У меня есть слишком много кода для показа на здесь. Но вот мой код для прорисовки:

NSRect knobRect = [self rectForPart:NSScrollerKnob];

NSBezierPath *path = [NSBezierPath bezierPathWithRoundedRect:knobRect 
                                                     xRadius:CornerRadius 
                                                     yRadius:CornerRadius];

[path setLineWidth:2];
[[NSColor colorWithDeviceRed:0.114 green:0.114 blue:0.114 alpha:0.3] set];
[path fill];
[[NSColor colorWithDeviceWhite:1.0 
                         alpha:0.100] set];

    // Clip drawing to this path; draw nothing outwith the path. 
[path addClip];
[path stroke];

Я уже попытался избавиться от всего кроме заливки, но она не работала. Эта проблема уходит, если я называю setNeedsDisplay:YES на супер представлении, когда setFloatValue называют.

Отсечение проблемы http://idkz.org/b814ee5c875c9f44cc2d1345e4489420

1
задан Peter Hosey 18 July 2010 в 09:51
поделиться

1 ответ

кажется, что ответ на проблему, кажется, состоит в том, чтобы позвонить:
[self setArrowsPosition: NSScrollerArrowsNone]; И это волшебным образом работает: D

Edit, но я получаю аналогичный эффект, когда перетаскиваю полосу прокрутки. : '(Есть ли способ очистить графику без перерисовки самой прокрутки?: (

1
ответ дан 2 September 2019 в 22:57
поделиться