繁体   English   中英

可可编程:将矩形添加到自定义视图(NSView)

[英]Cocoa Programming: Adding a Rectangle to a Custom View (NSView)

有没有一种简单的方法可以在不使用自定义NSView子类的情况下向自定义视图添加简单的矩形? 类似于以下内容:

  1. 将NSView类型的IBOutlet(我们称其为colorWheelView)分配给CustomView
  2. 在我的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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM