在鼠标悬停/单击时突出显示 NSView

Jos*_*ane 6 cocoa objective-c nsview

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

sud*_*-rf 5

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

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

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

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

-(void)mouseUp:(NSEvent *)theEvent {
    //draw normal
}
Run Code Online (Sandbox Code Playgroud)

  • -mouseDown 和 -mouseUp 应该像预期的那样工作。但是, -mouseEntered 和 -mouseExited 需要 trackingAreas 才能工作。见 http://stackoverflow.com/a/11190700/388412 (4认同)