2011-12-28 64 views
4

对不起,如果这之前已经问过,或者这是一个非常愚蠢的问题,但我无法弄清楚。我在我的界面中有一个NSView,并且我已经在Xcode中创建了NSView的子类。然后使用身份检查器,我将我的NSView的类设置为新创建的NSView子类。视图画得很好,但现在我需要重绘它以更改视图内的字符串。我很确定这与setNeedsDisplay有关,但是我该怎么发送消息?我在代码中没有特定的视图实例,因为它在Interface Builder中,所以我该怎么做? 再次,如果这是愚蠢的,很抱歉。我还没有做很多与NSView。询问更多信息,如果您需要它。谢谢!重绘NSView

+0

你是如何“引”,在视图中的字符串?带有标签(AKA'NSTextField'?) – 2011-12-28 20:01:58

+0

[string drawAtPoint:point withAttributes:attributes]是我如何绘制它的。我想我可以改变'string',然后告诉视图重绘。 – thekmc 2011-12-28 20:05:51

回答

7

在视图控制器子类中,添加一个类型为NSView子类的伊娃。在其上声明一个属性,并将其标记为出口。

// ViewControllerSubclass.h 
ViewType *myView; 

@property(readwrite, assign) IBOutlet ViewType *myView; 

// ViewControllerSubclass.m 
@synthesize myView; 

现在你有一个插座,将它连接到你通过IB设计的视图。为此,在您的视图控制器子类(文件的所有者)上右击IB,您应该在列表中看到插座。

完成之后,您现在可以将消息发送到代码中的视图。
为了纪念视图需要重绘:

[myView setNeedsDisplay:YES]; 
+0

谢谢!我会检查一下。 – thekmc 2011-12-28 20:06:34

+0

这正是我所需要的。谢谢您的帮助。 – thekmc 2011-12-28 20:17:42