我在NSScrollView中使用自定義的NSScrollers。但是,當NSScroller的任何超級視圖都啓用了核心動畫。我得到這個繪圖問題,這是一個巨大的麻煩。每當我滾動到滾動視圖的角落滾動條剪輯。但是,如果一個卷軸開始在角落畫圖,那麼卷軸部分就停留在那個角落。什麼可能導致這個問題?我有太多的代碼在這裏顯示。但這裏是我的繪製代碼:從核心動畫中產生奇怪效果的自定義NSScrollers
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];
我已經試圖擺脫一切,除了填充,但它沒有工作。如果在調用setFloatValue時在超級視圖中調用setNeedsDisplay:YES,則此問題消失。
Clipping Issue http://idkz.org/b814ee5c875c9f44cc2d1345e4489420