Я делаю пользовательский 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
кажется, что ответ на проблему, кажется, состоит в том, чтобы позвонить:
[self setArrowsPosition: NSScrollerArrowsNone];
И это волшебным образом работает: D
Edit, но я получаю аналогичный эффект, когда перетаскиваю полосу прокрутки. : '(Есть ли способ очистить графику без перерисовки самой прокрутки?: (