我做了nstextfield的子类,我重写了keydown事件,但我的代码不起作用,然后我重写了de keyup事件并且代码完美地工作。 我的keydown代码(不工作):在NSTextfield覆盖keydownevent
-(void)keyDown:(NSEvent *)event {
NSLog(@"Key released: %hi", [event keyCode]);
if ([event keyCode]==125){
[[self window] selectKeyViewFollowingView:self];
}
if ([event keyCode]==126){
[[self window] selectKeyViewPrecedingView:self];
}
}
我KEYUP代码(它的工作原理):
-(void)keyUp:(NSEvent*)event
{if ([event keyCode]==125){
[[self window] selectKeyViewFollowingView:self];
}
if ([event keyCode]==126){
[[self window] selectKeyViewPrecedingView:self];
}
if ([event keyCode]==36){
[[self window] selectKeyViewFollowingView:self];
}
}
我看不出哪里是我的keydown代码的问题。任何建议将被接受
编辑: 我读过,你必须继承NSTextView而不是NSTextField。
请提供描述“不起作用”的详细信息。 – 2011-05-06 20:30:21
它执行NSLog吗?它是否被称为?这些是同一个确切类的相同确切实例吗? – 2011-05-06 22:29:03
它不执行nslog – 2011-05-09 02:31:56