سؤال

لدي الفئة الفرعية NSScroller التالية التي تنشئ شريط التمرير مع مقبض أبيض مستدير ولا توجد سهام/فتحة (خلفية):

@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

كل هذا يعمل بشكل جيد ، إلا أن هناك تأخرًا ملحوظًا عند استخدام التمرير. شاهد هذا الفيديو:

http://twitvid.com/70e7c

أنا في حيرة من أمري بشأن ما أفعله خطأ ، أي اقتراحات؟

هل كانت مفيدة؟

المحلول

تم إصلاح المشكلة ، فقط اضطررت إلى ملء المستقيم في drawknobslotinrect:

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top