正如本文标题中所述,我想设置在基于视图的NSTableCellView
内使用的子类NSTableView
的边框(颜色和宽度)。我尝试了以下
self.layer.borderColor = [[NSColor greenColor] CGColor];
self.layer.borderWidth = 3.0;
我将代码放在initWithCoder
和awakeFromNib
中,但没有得到预期的结果。在backgroundColor
- 方法中可以更改drawRect
。有人能指出我正确的方向吗?
由于
修改
以下是使用NSFrameRect
- (void)drawRect:(NSRect)dirtyRect
{
[NSGraphicsContext saveGraphicsState];
[[NSColor lightGrayColor]set];
NSFrameRect([self bounds]);
[NSGraphicsContext restoreGraphicsState];
}
答案 0 :(得分:1)
OS X上的视图默认不支持图层。首先需要setWantsLayer:YES
但是如果您正在使用drawRect:您可以使用NSFrameRect()或其中一个类似的函数,或者在单元格视图子类中使用NSBezierPath进行绘制。但是,请记住,行视图通常在基于视图的表中进行背景绘制。
听起来你还有一些关于绘制Cocoa的知识。