2010-04-10 72 views
1

我認爲這是一個非常簡單的問題,但我是編程新手,所以我可能會以錯誤的方式解決它。在NSView中重置圖像

我對Objective-C寫作終端應用程序有一個基本的瞭解,並且正在自學如何使用Cocoa GUI。

我知道如何使用IBOutletIBAction將簡單的按鈕連接到一個方法,該方法將重複發送隨機數到文本字段。

我瞭解如何添加NSView文件,將其連接到界面構建器中的自定義視圖,並在應用程序啓動時通過視圖中的隨機點繪製路徑。

(我一直把這個代碼放在創建文件時聲明的- (void)drawRect:(NSRect)dirtyRect方法中)。

我似乎無法弄清楚的是如何將一個按鈕連接到一個動作,然後「刷新」視圖 - 在這種情況下,用另一組與路徑相連的隨機點重新填充它。看文檔,我認爲我應該以某種方式使用

– (void) setNeedsDisplay(BOOL)flag 

但我沒有嘗試到目前爲止工作。請告訴我,我在這裏錯過了什麼?

+0

哇!多麼書信的海洋......想象一下蘋果公司的文檔書寫方式: - /你可以給你的空間,縮進,風格等寫作,以便更好,只是讀我們所有人?泰! – balexandre 2010-04-10 00:48:05

+0

對不起!希望這可以更容易閱讀。 – Josan 2010-04-10 03:58:05

回答

1

事情是這樣的:

- (IBAction)refreshButtonAction:(id)sender 
{ 
    [theView setNeedsDisplay:YES]; 
} 

您的按鈕連接到這個動作。 「theView」是對您的自定義NSView的引用。

+0

謝謝!我曾嘗試類似的東西,但我沒有在AppController中聲明我的自定義NSView作爲實例變量。然後我嘗試將按鈕添加到NSView中,併發送[self setNeedsDisplay:YES];然後發送 [self setNeedsDisplay:YES]; 傻新手:) – Josan 2010-04-10 13:32:23