custom NSSliderCell

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

Screenshot

Вот код:

#import "customSliderCell.h"
@implementation customSliderCell
- (void)drawKnob:(NSRect)knobRect {

    NSImage * knob = knobImage;
 [[self controlView] lockFocus];
 [knob
 compositeToPoint:NSMakePoint(knobRect.origin.x,knobRect.origin.y+knobRect.size.height)
 operation:NSCompositeSourceOver];

[[self controlView] unlockFocus];
}
- (void)drawBarInside:(NSRect)rect flipped:(BOOL)flipped {
rect.size.height = 8;

    NSRect leftRect = rect;
    leftRect.origin.x=0;
    leftRect.origin.y=2;
    leftRect.size.width = knobrect.origin.x + (knobrect.size.width);
    [leftBarImage setSize:leftRect.size];
    [leftBarImage drawInRect:leftRect fromRect: NSZeroRect operation: NSCompositeSourceOver fraction:1];

    NSRect rightRect = rect;
    rightRect.origin.x=0;
    rightRect.origin.y=2;
    rightRect.origin.x = knobrect.origin.x;
    [rightBarImage setSize:rightRect.size];
    [rightBarImage drawInRect:rightRect fromRect: NSZeroRect operation: NSCompositeSourceOver fraction:1];
}

а, я так близко. мы будем очень благодарны за любую помощь относительно того, почему это происходит и как решить эту проблему, спасибо!

8
задан Justin Boo 10 May 2012 в 23:06
поделиться