我想在NSView子类中做一些自定义绘图,我应该从哪里开始?
答案 0 :(得分:4)
Apple的Introduction to Cocoa Drawing Guide是最佳起点。那里有很多例子。
答案 1 :(得分:4)
正如贾瑞特所说,Apple docs是一个很好的起点。但是,有些事情需要牢记:
与视图一起使用的默认坐标系是Cartesian coordinate system,其中原点位于视图的左下角。大多数情况下,您希望原点位于视图的左上角,因此您可以覆盖isFlipped:
方法(返回NO
的默认实现),返回YES
:< / p>
- (BOOL)isFlipped
{
return YES;
}
这会“翻转”坐标系,以便在发生垂直翻转后原点位于左上角。这可以使一些绘图位置计算更容易。
您可能想要开始使用的主要内容包括:
NSBezierPath
类方法fillRect:
,以及用于设置和使用颜色的NSColor
类。NSImage
类及其提供的绘图方法)。NSBezierPath
类)。您还需要在某个时候查看Graphics Contexts,并在其上设置属性(例如当前颜色,阴影等),用于后续绘图操作。
可能不是直接关注,而只是一个旁注,在某些时候你应该看一下Optimizing View Drawing的View Programming Guide for Cocoa部分。绘图操作应该很快,有时令人惊讶的是,当你有一些基本的东西可以让你的绘图 - 以及应用程序 - 更高效,例如只重新绘制部分实际改变的观点,而不是整个观点。
答案 2 :(得分:0)
您应该开始at the beginning。