我知道有关于改变交替行颜色的其他问题.这很简单,这不是我想要做的.
我想在基于视图的NSTableView中绘制自定义的交替颜色的行,看起来像iTunes 11中的那些(在屏幕的顶部和底部是轻微的边框,如屏幕截图所示):
注意:
我知道我可以继承NSTableRowView,并在那里做我的自定义绘图.但是,这不是一个可以接受的答案,因为自定义行将仅用于在表中具有数据的行.换句话说,如果表只有5行,那5行将使用我的自定义NSTableRowView类,但表中剩下的“行”(空)将使用标准的交替颜色.在这种情况下,前5行将显示挡板,其余的行将不会显示.不好.
那么,我怎么可以劫持NSTableView来为填充行和空行绘制这些样式的交替行?
解决方法
就像你所说的那样,“轻微的表圈”实际上可以轻而易举地做一些小小的欺骗.因为,如果仔细观察,每个单元格的顶部是比较暗的交替行稍浅的蓝色,并且每个单元格的底部都是深灰色,可以将NSTableView子类化,然后覆盖 – (void)drawRow