我在NSCell
为NSTableView
. 下面是主窗口:
该窗口有一个表格视图,其中显示了一个图标、一个标题、一个进度指示器和一条消息。由于我的计算机是 10.6,我使用基于单元格的表格视图来实现它。自定义单元格基于 Apple 提供的 ImageAndTextCell。消息绘制如下:
- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView {
NSMutableDictionary *fontAttributes = [NSMutableDictionary dictionaryWithCapacity:1];
[fontAttributes setObject:[NSFont fontWithName:@"Hei" size:12] forKey:NSFontAttributeName];
if (!self.msg) {
self.msg = @"default";
}
CGRect textFrame = cellFrame;
textFrame.origin.x += 20;
textFrame.origin.y += 20;
[self.msg drawAtPoint:textFrame.origin withAttributes:fontAttributes];
}
msg
是单元格的副本 NSString 属性。我遇到了两个问题:
1 当我选择一个单元格时,消息将被关闭,就像:
只有你取消选择它,它会再次显示。我该怎么做才能解决它?
2 我需要自定义标题。如您所见,每个单元格都有一个标题,sae 或 IBM。它是委托返回的值:
- (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex;
我可以更改它的位置、颜色或字体吗?