3

我的应用程序中有 NSTableView。现在说是 8 列乘 48 行。

我有一个运行特定列的函数,以查看每个单元格中的值是否大于某个值。如果是,我希望应用程序突出显示该行。

我做了一些阅读,我仍在寻找可以让我提取单元格/行/或矩形并让我更改颜色的函数调用或过程。

改变单元格颜色的作用和步骤是什么?

4

5 回答 5

5
- [NSTableView selectRowIndexes:byExendingSelection:]

来源

于 2009-09-24T18:55:55.963 回答
3

要更改单元格的颜色,您可以尝试此方法

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

这将使您的行具有不同的颜色。

于 2012-08-28T12:54:53.477 回答
0

设置一个 tableView 委托并实现

– tableView:dataCellForTableColumn:row:

方法。然后编写一个自定义的dataCell类来做自定义绘图。

于 2009-09-24T18:55:06.217 回答
0

如果将数据提取为字符串,则可以使用:-

NSAttributedString

更改文本和背景的颜色。

于 2009-10-15T13:54:52.540 回答
0
-(void)tableView:(NSTableView *)tableView willDisplayCell:(id)cell forTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row

...为您提供预制的单元格(通常是 NSTextFieldCell),然后您可以对其进行着色。无需退货 - Apple 已经制作并即将使用它,只需根据您认为合适的方式修改对象即可。效果很好。

于 2011-06-29T16:12:09.573 回答