0

我正在使用一个使用 NSView 子类的窗口。其中一部分是在程序启动时绘制的,另一部分需要在用户单击另一个窗口中的按钮时绘制。另一个窗口的代码毫无问题地调用我的 NSView 子类,创建新图形,然后返回。但是,需要用新图形更新的窗口不会改变。

当我将开始图形和稍后要绘制的图形都放在初始 drawRect 调用中时,一切都没有问题地绘制。但是,当用户单击第二个窗口上的按钮时,不会调用 drawRect。我已经尝试过 awakeFromNib、setNeedsDisplay、needsDisplay 和 display,但到目前为止我没有发现任何东西可以让 NSView 窗口调用 drawRect。

我对 OS X 编程相当陌生,并且很感激您可以提出的任何提示。

谢谢,汤姆杰弗里斯

4

1 回答 1

0

您应该将按钮单击分离到控制器类中,并且该控制器应该在视图对象上调用 setNeedsDisplay。不要说视图本身 setNeedsDisplay。

于 2011-10-25T12:39:25.560 回答