I'm trying to change the mouse cursor of a NSTextField
in a window sheet, loaded from a NIB.
Following the documentation, I have subclassed NSTextField
and implemented resetCursorRects
.
- (void) resetCursorRects {
[self addCursorRect:[self bounds] cursor:[NSCursor pointingHandCursor]];
}
This is never called. Not even after adding the following in the NSWindowViewController
:
- (void) windowDidLoad {
[self.window invalidateCursorRectsForView:self.linkTextField];
}
I also tried with a tracking area by adding the following in the NSTextField
subclass:
- (void) awakeFromNib {
NSTrackingArea* trackingArea = [[NSTrackingArea alloc] initWithRect:self.bounds
options:(NSTrackingCursorUpdate | NSTrackingActiveAlways)
owner:self
userInfo:nil];
[self addTrackingArea:trackingArea];
}
- (void)cursorUpdate:(NSEvent *)theEvent {
[[NSCursor pointingHandCursor] set];
}
Didn't work either. What am I doing wrong?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…