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

objective-c – 如何将自定义视图单元格放在NSTableView中的表行之上?,第1张

概述当我使用自定义视图作为基于视图的NSTableView的单元格时,自定义视图稍微低于表格行.当我点击它,而不是影响元素(例如文本字段)自定义视图,表行被选中(并突出显示).我必须重新选择文本字段. - (NSView*)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NS 当我使用自定义视图作为基于视图的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.

总结

以上是内存溢出为你收集整理的objective-c – 如何将自定义视图单元格放在NSTableView中的表行之上?全部内容,希望文章能够帮你解决objective-c – 如何将自定义视图单元格放在NSTableView中的表行之上?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1249332.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存