我试图在光标经过视图时更改光标,但我想我没有正确编码,因为它不起作用。
我有一个appcontroller类,在它的.m文件中我有这个
- (void) awakeFromNib {
//set up the cursors
NSCursor * handCursor = [NSCursor closedHandCursor];
//make a box
Box* newBox = [[Box alloc] initWithFrame:NSMakeRect(10.0, 10.0, 100.0, 100.0)];
//set up the rect for the cursor change
NSRect rectForCursor = [newBox frame];
[newBox addCursorRect:rectForCursor cursor:handCursor];
//add box to main win
[[mainWin contentView] addSubview:newBox];
}
答案 0 :(得分:6)
从awakeFromNib中调用addCursorRect:将无效。它必须在resetCursorRects:的覆盖范围内调用,这可能会在某个时刻被调用并破坏你设置的矩形。
答案 1 :(得分:1)
您忘记致电[handCursor setOnMouseEntered:YES]
。否则,NSCursor
将忽略发送的mouseEntered:
事件。