nstableView在一个单元格中显示图像
-
16-10-2019 - |
题
我可能会问非常简单的问题,但是我无法摆脱这一问题,要求是,
- 表应显示图像和旁边的一些文本。为此,我在表中添加了两个列
- NstableView应该是透明的。为此,我在Override DrawRect方法中进行了定制view类,以免绘制背景,并告诉Cell不要进行缩写。
- 现在下一个障碍是如何显示图像,我必须覆盖/处理以下方法
.
- (NSCell *)tableView:(NSTableView *)tableView dataCellForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row{
NSImage *pCellImage = // Get a valid Image ;
if(tableColumn == nil ) return nil;
NSString *colName = [tableColumn identifier];
if([colName isEqualToString:@"firstColumn"]){
NSCell *pCell = [[NSCell alloc]initImageCell:pCellImage];
return pCell;
}else{
NSCell *pCell = [[NSCell alloc]initTextCell:@"Some text"];
return pCell;
}
}
我添加了tablecolumn == nil条件,如文档所给出的第一次,每行,当我需要为整行设置一个列时,这将用TableColumn NIL调用,但是如果我将其返回其崩溃,则bad_access bad_access bad_access ,,,,
现在我的问题是如何处理零条件,在为这两列设置NSCELL之后,在此功能中,它将转到另一个委托函数
- (id) tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex
我相信,正确设置数据集后,我不需要使用此功能,
随着以下实施的崩溃,我无法弄清楚,什么错,
我正在设置适当的数据源和委托,
解决方案
您是否尝试过调用挫折环彩并传递透明颜色?
[myTableView setBackgroundColor:[[NSColor clearColor]];
如果使用此方法,请记住告诉周围的NSSCrollView不要绘制其背景。
或者,考虑将表的背景作为一个 卡莱尔.
关于在单列中绘制图像和文本的绘制,Apple的开发人员关系已发布了自定义NSCELL, ImageAndTextCell. 。您可以将此单元格与nstableView和nsoutlineview实例一起使用。该自定义单元格在单列中绘制图像和文本。
不隶属于 StackOverflow