Con*_*nor 2 macos cocoa objective-c nstextfield nstableview
可可诺布在这里.
我有一个简单的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;
}
}
}
Run Code Online (Sandbox Code Playgroud)
这部分是我想要的.它确实选择了第一个或最后一个项目resultsTableView
,但所选项目保持灰色,并且textview保持活动状态.
我以为叫becomeFirstResponder
上resultsTableView
会做的伎俩,但事实并非如此.
任何帮助将不胜感激!
The*_*mer 12
切勿becomeFirstResponder
直接打电话.使用NSWindow'smakeFirstResponder:
[[resultsTableView window] makeFirstResponder:resultsTableView];
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1940 次 |
最近记录: |