Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c NSScroller图形故障/滞后_Objective C_Cocoa_Subclass_Nsscrollview_Nsscroller - Fatal编程技术网

Objective c NSScroller图形故障/滞后

Objective c NSScroller图形故障/滞后,objective-c,cocoa,subclass,nsscrollview,nsscroller,Objective C,Cocoa,Subclass,Nsscrollview,Nsscroller,我有以下NSScroller子类,它创建了一个带有圆形白色旋钮且没有箭头/槽(背景)的滚动条: 这一切都很好,除了有一个明显的滞后,当我使用滚动。请看此视频: 我对自己做错了什么感到困惑,有什么建议吗?修复了问题,只需在drawKnobSlotInRect中填写rect: @implementation IGScrollerVertical - (void)drawKnob { NSRect knobRect = [self rectForPart:NSScrollerKnob];

我有以下NSScroller子类,它创建了一个带有圆形白色旋钮且没有箭头/槽(背景)的滚动条:

这一切都很好,除了有一个明显的滞后,当我使用滚动。请看此视频:


我对自己做错了什么感到困惑,有什么建议吗?

修复了问题,只需在drawKnobSlotInRect中填写rect:

@implementation IGScrollerVertical

- (void)drawKnob
{
    NSRect knobRect = [self rectForPart:NSScrollerKnob];
    NSRect newRect = NSMakeRect(knobRect.origin.x, knobRect.origin.y, knobRect.size.width - 4, knobRect.size.height);
    NSBezierPath *path = [NSBezierPath bezierPathWithRoundedRect:newRect xRadius:7 yRadius:7];
    [[NSColor whiteColor] set];
    [path fill];
}

- (void)drawArrow:(NSScrollerArrow)arrow highlightPart:(int)flag
{
    // We don't want arrows
}

- (void)drawKnobSlotInRect:(NSRect)rect highlight:(BOOL)highlight
{
    // Don't want a knob background
}
@end