过去,使用基于单元格的NSTableView,您可以修改tableView中的单元格的属性:willDisplayCell:forTableColumn:row方法(例如,为要显示的单元格设置一个自定义NSAttributedString).是否有基于视图的表视图的等效方法?
实现tableView:willDisplayCell:forTableColumn:行在基于视图的表视图中不被调用,所以我不知道该怎么做.
我想使用默认NSTextField实例的setAttributedStringValue方法设置一个NSAttributedString,该方法包含在从Xcode中创建的NSTableCellView实例中.
迄今为止,我的努力始终被表视图所遗弃.有任何想法吗?
解决方法
我用这个来改变viewForTableColumn中文本的颜色.我正在从界面构建器读取tableCellView.
- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row { NSTableCellView *result = [tableView makeViewWithIdentifier:tableColumn.identifier owner:self]; result.textField.textColor = [NSColor redColor]; return result; }
由于textcolor实际上对我来说是变化的,我相信你应该能够在其中设置其他属性.