我做了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