我遇到了一个关于使用自定义 NSTableHeaderCell 清除 NSTableView 背景的问题。当我调整表格列的大小时。
// The method for setting NSTableView in some place
// NSScrollView disabled Draw Background
- (void)setMainTableView:(NSTableView *)mainTableView {
_mainTableView = mainTableView;
[_mainTableView setBackgroundColor:[NSColor clearColor]];
[[_mainTableView tableColumns] enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
NSString *columnTitle = [[obj headerCell] stringValue];
MyTableHeaderCell *myCell = [[MyTableHeaderCell alloc] initTextCell:columnTitle];
[obj setHeaderCell:myCell];
}];
}
// Overriding NSTableHeaderCell Method
- (void)drawWithFrame:(CGRect)cellFrame inView:(NSView *)view {
[[NSColor redColor] set];
NSFrameRect(cellFrame);
[super drawInteriorWithFrame:cellFrame inView:view];
}