2011-12-28 34 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