如何绘制这样的线分隔符:
请注意,有 2 条单像素线彼此重叠。有什么建议吗?
<小时/>编辑:
这是我需要的代码,在 NSBox 子类中:(或 NSView,并不重要):
- (void)drawRect:(NSRect)rect
{
[[NSColor lightGrayColor] set];
NSRectFill(NSMakeRect(0, 1, NSWidth(rect), 1));
[[NSColor whiteColor] set];
NSRectFill(NSMakeRect(0, 0, NSWidth(rect), 1));
}
最佳答案
通常这种分隔符是用NSBox
绘制的,通常配置为NSBoxSeparator
类型。但这并不完全是您想要的外观。我建议在 NSBox
子类中手绘它(这样你就可以获得正常的 NSBox
行为)。有关 NSBox
子类的示例,请参阅 Matt Gemmell 的 RoundedBox .
您只需要两行,因此 drawRect:
应该非常简单。以这种方式封装它将使您变得非常灵活。
(当然,您也可以考虑仅使用标准 NSBox
分隔符,而不是创建自定义外观。这就是它的用途。)
关于objective-c - 用 cocoa 绘制线分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15070740/