2011-10-31 44 views
4

如何基于NSTableView为视图绘制我自己的自定义选择样式?我尝试在我的NSTableCellView子类中放置一个BOOL var,并将其设置为YES(如果它已被点击),然后我可以成功绘制自定义选择。但是如何在另一个视图被点击时将BOOL var更改为NO?谢谢你的帮助。处理基于视图的自定义选择样式NSTableView

编辑:通过阅读NSTableView文档后,它看起来像我需要继承NSTableRowView重写选择图纸,但我怎么用我的NSTableRowView子类?我如何让桌子使用它?

回答

13

好吧,我想通了。您只需要子类NSTableRowView。它具有为选定和取消选择的行绘制背景的方法。要让表视图使用你的子类,只需实现表视图委托方法tableView:rowViewForRow:并返回你的子类的一个实例。

+3

我怎样才能更改单元格视图标号颜色和图标? –

1

为了把事情说清楚,我想我们应该给委托方法的代码:

- (NSTableRowView *)tableView:(NSTableView *)tableView rowViewForRow:(NSInteger)row 
{ 
    MyNSTableRowView *rowView = [[MyNSTableRowView alloc]init]; 
    return rowView; 
} 
相关问题