ココアヌーブはこちら。
いくつかの結果をフェッチしてNSTableViewに配置するNSTextFieldを含むシンプルなMacアプリがあります。テキストフィールドで上/下を押して、テーブルビューの最初/最後のアイテムをアクティブにできるようにしたいと思います。
私は次のことをしました:
- (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
選択されますが、選択されたアイテムはグレー表示されたままになり、テキストビューはアクティブなままになります。
私は、を呼び出すことでうまくいくと思いbecomeFirstResponder
ましたresultsTableView
が、そうではありませんでした。
どんな助けでも大歓迎です!