我试图在我自己的应用程序中模仿 MacOS 联系人应用程序对 GroupRows 的作用,但无法弄清楚或找不到任何地方如何摆脱组行上方和下方的线条。我尝试添加我自己的自定义 NSTableRowView 并且可以毫无问题地更改背景颜色,但不知道如何摆脱这些边框。
最佳答案
子类 NSTableRowView。然后在您的子类中添加一个属性,如下所示:
@interface CustomTableRowView : NSTableRowView
@property (nonatomic, assign) BOOL isGroupRow;
@end
覆盖子类中的 drawRect:
- (void)drawRect:(NSRect)dirtyRect {
if (!self.isGroupRow)
[super drawRect:dirtyRect];
}
然后在 tableView:rowViewForRow 中设置 isGroupRow:
tableRow.isGroupRow = [self tableView:tableView isGroupRow:row];
这将删除组行的顶部和底部分隔符。抱歉,我不会 Swift,但您可能可以轻松翻译它。希望能帮助到你!