4

我正在NSCell为我的项目开发一个子类。

在某些情况下,这个子类NSButtonCell在它的视图上绘制了这个:

- (void)drawInteriorWithFrame:(NSRect)cellFrame inView:(NSView *)controlView {

... 
    if (self.mode == PMVersatileCellButton) {
        [_button drawWithFrame:cellFrame inView:controlView];
inView:controlView];
    } else {

...

    }

    [super drawInteriorWithFrame:cellFrame inView:controlView];
}

没问题。关于绘图,问题是响应点击按钮!

我正在尝试这样做:

- (NSUInteger)hitTestForEvent:(NSEvent *)event inRect:(NSRect)frame ofView:(NSView *)controlView {

    NSLog(@"hitTest !");

    return [super hitTestForEvent:event inRect:frame ofView:controlView];

}

和 :

+ (BOOL)prefersTrackingUntilMouseUp {
    return YES;
}

- (BOOL)startTrackingAt:(NSPoint) inView:(NSView *)

- (BOOL)trackMouse:(NSEvent *) inRect:(NSRect) ofView:(NSView *) untilMouseUp:(BOOL)

- (BOOL)continueTracking:(NSPoint) at:(NSPoint) inView:(NSView *)

- (void)stopTracking:(NSPoint) at:(NSPoint) inView:(NSView *) mouseIsUp:(BOOL)

但是 hitTest 或任何其他人永远不会被调用......

+ (BOOL)prefersTrackingUntilMouseUp被调用,这对我没有多大帮助......

任何想法 ?^^

4

0 回答 0