objective-c - 为 NSTableView 中的行着色

标签 objective-c cocoa

我要做的是在单击 I 按钮时设置 NSTableView 中选定行的背景色。 我见过人们使用 tableView:willDisplayCell:forTableColumn:row:setBackgroundColor: 的其他情况,但我认为这在我想要的情况下不起作用单击按钮时发生。

我知道我可以使用 NSTableView 的 selectedRow 方法找到选定的行并使用 setBackgroundColor: 设置单元格的背景颜色,但我不知道如何要做的是从所选行的 NSInteger 到 NSCell 以设置背景颜色。

最佳答案

NSTableView 对每一列仅使用一个 NSCell 实例。绘制内容时,单元格会针对每一行进行更新。这就是为什么没有方法获取指定行的单元格的原因——您必须修改 tableView:willDisplayCell:forTableColumn:row: 中的单元格。

您可以使用 reloadDataForRowIndexes:columnIndexes: 告诉 TableView 只更新一行。

关于objective-c - 为 NSTableView 中的行着色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2028236/

相关文章:

objective-c - cocoa 和OpenGL : failed to draw cube

cocoa - 不使用现有 NSCoding 方法来实现 NSCopying 的任何理由

objective-c - NSTreeController add 和 addChild 方法

ios - 在 iOS 中将字符串拆分为子字符串

ios - 如何更改ios中特定单词的颜色

objective-c - 我的 Cocoa 应用程序如何收到 WebView 中的 onClick 事件通知?

objective-c - 如何在 NSWindow 上显示像素数组?

ios - 将 View Controller 添加到另一个时的自定义转换

objective-c - 在不阻塞主线程的情况下显示上下文 NSMenu

objective-c - 如何以编程方式创建 NSSearchField?