Aam*_*mir 8 cocoa objective-c nstextfield nstableview
我有一个包含两列NSTableView的内容类型View Based.
我的对象结构如下:
Table View
Table Column
Table Cell View
Text Field
Table Column
Table Cell View
Popup Button
Run Code Online (Sandbox Code Playgroud)
对于选定的行,我想在特定列的选定行中获取一个元素.具体来说,我想获得Text Field所选行的第一列.
我有一个表视图的出口,到目前为止我有所选行的索引,但这是关于它:
- (void)getSelectedTextField
{
NSInteger selected = [tableView selectedRow];
}
Run Code Online (Sandbox Code Playgroud)
关于如何处理这个问题的任何想法?
编辑:这就是我想要做的:我想将文本字段更改为处于编辑状态并关注它,以便用户可以在选择后立即开始编辑文本字段值
Aam*_*mir 18
我似乎已经解决了我自己的问题:
- (void)getSelectedTextField
{
NSInteger selected = [tableView selectedRow];
// Get row at specified index
NSTableCellView *selectedRow = [tableView viewAtColumn:0 row:selected makeIfNecessary:YES];
// Get row's text field
NSTextField *selectedRowTextField = [selectedRow textField];
// Focus on text field to make it auto-editable
[[self window] makeFirstResponder:selectedRowTextField];
// Set the keyboard carat to the beginning of the text field
[[selectedRowTextField currentEditor] setSelectedRange:NSMakeRange(0, 0)];
}
Run Code Online (Sandbox Code Playgroud)
小智 5
使用可以通过获取其子视图来获取表视图单元格的所有元素。使用前建议显示日志列表子视图
NSInteger index = [self.tableViewFiles selectedRow];
// Get row at specified index of column 0 ( We just have 1 column)
NSTableCellView *cellView = [self.tableViewFiles viewAtColumn:0 row:index makeIfNecessary:YES];
// Get row's checkBox ( at index 0, textFields is 1,2)
NSButton *checkBox = [[cellView subviews] objectAtIndex:0];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12391 次 |
| 最近记录: |