可可菜鸟在这里。
我有一个简单的 Mac 应用程序,其中包含一个 NSTextField,它获取一些结果并将它们放入 NSTableView。我希望能够在文本字段中按向上/向下键来激活表格视图中的第一个/最后一个项目。
我做了以下事情:
- (void)keyUp:(NSEvent *)theEvent {
switch([theEvent keyCode]) {
case 125: {
NSLog(@"I need to move down");
NSIndexSet *indexSet = [NSIndexSet indexSetWithIndex:0];
[resultsTableView selectRowIndexes:indexSet byExtendingSelection:NO];
[resultsTableView becomeFirstResponder];
break;
}
case 126: {
NSLog(@"I need to move up");
NSIndexSet *indexSet = [NSIndexSet indexSetWithIndex:[results count]-1];
[resultsTableView selectRowIndexes:indexSet byExtendingSelection:NO];
[resultsTableView becomeFirstResponder];
break;
}
}
}
这部分是我想要的。它确实选择了 中的第一个或最后一个项目resultsTableView
,但所选项目保持灰色,并且 textview 保持活动状态。
我以为调用becomeFirstResponder
theresultsTableView
可以解决问题,但事实并非如此。
任何帮助将不胜感激!