Objective c 在滚动时突出显示NSView/单击

Objective c 在滚动时突出显示NSView/单击,objective-c,cocoa,nsview,Objective C,Cocoa,Nsview,滚动或单击NSView时,如何更新视图,以便更改视图的颜色和其他属性?重新绘制视图是我需要做的关键,我已经创建了一个子类。侦听鼠标事件并在其中执行适当的操作 -(void)mouseEntered:(NSEvent *)theEvent { //draw rollover } -(void)mouseExited:(NSEvent *)theEvent { //draw normal } -(void)mouseDown:(NSEvent *)theEvent { /

滚动或单击NSView时,如何更新视图,以便更改视图的颜色和其他属性?重新绘制视图是我需要做的关键,我已经创建了一个子类。

侦听鼠标事件并在其中执行适当的操作

-(void)mouseEntered:(NSEvent *)theEvent {
    //draw rollover
}

-(void)mouseExited:(NSEvent *)theEvent {
    //draw normal
}

-(void)mouseDown:(NSEvent *)theEvent {
    //draw selected
}

-(void)mouseUp:(NSEvent *)theEvent {
    //draw normal
}

你如何保留对你观点的引用?你是否碰巧使用了集合视图?@alexgray:什么不起作用?这些方法没有被调用?您需要确保您的窗口子类符合
NSWindowDelegate
,-mouseDown和-mouseUp应该像预期的那样工作。但是,-mouseEntered和-mouseexeted需要跟踪区域才能工作。看见