我的应用程序中有 NSTableView。现在说是 8 列乘 48 行。
我有一个运行特定列的函数,以查看每个单元格中的值是否大于某个值。如果是,我希望应用程序突出显示该行。
我做了一些阅读,我仍在寻找可以让我提取单元格/行/或矩形并让我更改颜色的函数调用或过程。
改变单元格颜色的作用和步骤是什么?
我的应用程序中有 NSTableView。现在说是 8 列乘 48 行。
我有一个运行特定列的函数,以查看每个单元格中的值是否大于某个值。如果是,我希望应用程序突出显示该行。
我做了一些阅读,我仍在寻找可以让我提取单元格/行/或矩形并让我更改颜色的函数调用或过程。
改变单元格颜色的作用和步骤是什么?
- [NSTableView selectRowIndexes:byExendingSelection:]
要更改单元格的颜色,您可以尝试此方法
-(void)tableView:(NSTableView *)tableView willDisplayCell:(id)cell forTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
{
[cell setDrawsBackground:YES];
if(row==0)
[cell setBackgroundColor:[NSColor color];
else if(row==1||row==2)
[cell setBackgroundColor:[NSColor color];
else
[cell setBackgroundColor:[NSColor color];
}
这将使您的行具有不同的颜色。
设置一个 tableView 委托并实现
– tableView:dataCellForTableColumn:row:
方法。然后编写一个自定义的dataCell类来做自定义绘图。
如果将数据提取为字符串,则可以使用:-
NSAttributedString
更改文本和背景的颜色。
-(void)tableView:(NSTableView *)tableView willDisplayCell:(id)cell forTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
...为您提供预制的单元格(通常是 NSTextFieldCell),然后您可以对其进行着色。无需退货 - Apple 已经制作并即将使用它,只需根据您认为合适的方式修改对象即可。效果很好。