[英]Cocoa Programming: Adding a Rectangle to a Custom View (NSView)
有没有一种简单的方法可以在不使用自定义NSView子类的情况下向自定义视图添加简单的矩形? 类似于以下内容:
在我的NSViewController的initWithNibName中,使用它来更改绘制矩形:
// pseudocode
self.colorWheelView.addRectangle(myRectangle);
self.redraw()
我看到它完成的唯一方法(在本网站上,以及在我的书《可可Mac OSX版编程》,第241页)中,是为“自定义视图”创建一个自定义类并修改其drawRect方法。做到这一点的唯一方法?
编辑:不知道为什么格式不正确呈现。 我正在尝试修复它。
推出自己的工具确实不那么困难。
只需将NSArray
属性添加到您的NSView
子类中,然后在drawRect
方法中手动绘制它们,或使用已经由AppKit提供的NSRectFillList*
方法之一绘制它们。
( 请注意:那些使用普通的C数组, 而不是 NSArray
)。
但是,您不希望像示例代码中那样从视图外部手动触发重绘。 为了保持一致,您的addRectangle
将触发视图本身的重绘,例如,通过调用setNeedsDisplay:
addRectangle
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.