gpt4 book ai didi

objective-c - 如何将自定义 View 单元格置于 NSTableView 中的表格行上方?

转载 作者:太空狗 更新时间:2023-10-30 03:26:39 25 4
gpt4 key购买 nike

当我使用自定义 View 作为基于 View 的 NSTableView 的单元格时,自定义 View 稍微低于表格行。当我点击它时,没有影响元素(例如文本字段)自定义 View ,而是选择了表格行(并突出显示)。我必须重新单击以选择文本字段。

- (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;
}

highlights the front

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

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

但我仍然无法直接选择文本字段。更糟糕的是,我什至无法使用鼠标选择它。只有键盘上的 tab 有效。

Unable to select

上面好像有东西。但它是界面生成器中显示的“表格列”吗?还是别的?

我该如何解决这个问题?

最佳答案

使用 NSTableView 的自定义子类并覆盖 -validateProposedFirstResponder:forEvent: 以返回 YES

参见 this blog entry来自编写基于 View 的 TableView 代码的 Apple 工程师。

关于objective-c - 如何将自定义 View 单元格置于 NSTableView 中的表格行上方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33347970/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com