加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

objective-c – 如何将自定义视图单元格放在NSTableView中的表行

发布时间:2020-12-16 05:42:32 所属栏目:百科 来源:网络整理
导读:当我使用自定义视图作为基于视图的NSTableView的单元格时,自定义视图稍微低于表格行.当我点击它,而不是影响元素(例如文本字段)自定义视图,表行被选中(并突出显示).我必须重新选择文本字段. - (NSView*)tableView:(NSTableView *)tableView viewForTableColum
当我使用自定义视图作为基于视图的NSTableView的单元格时,自定义视图稍微低于表格行.当我点击它,而不是影响元素(例如文本字段)自定义视图,表行被选中(并突出显示).我必须重新选择文本字段.
- (NSView*)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
    NSLog(@"We are creating views!");
    NSTableCellView *newView;
    newView = [tableView makeViewWithIdentifier:@"PostCell" owner:self];


    NSTextField *newTextField = [[NSTextField alloc] init];
    [newView addSubview:newTextField];

    return newView;
}

当我根据NSTableView – Disable Row Selection禁用行选择时,没有选择.

- (BOOL)selectionShouldChangeInTableView:(NSTableView *)tableView {
    return NO;
}

但是我仍然无法直接选择文本字段.更糟糕的是,我甚至不能使用鼠标选择它.键盘上只有标签工作.

似乎有一些以上的东西.但是,在界面构建器中显示的“表列”或者是其他东西?

如何解决这个问题?

解决方法

使用NSTableView的自定义子类和override -validateProposedFirstResponder:forEvent:返回YES.

请参阅撰写基于视图的表视图代码的Apple工程师的this blog entry.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读