2012-06-12 19 views
1

我創建了一張工作表,我希望在程序執行數據處理時顯示各種消息。工作表正確打開和關閉,並在工作表上連接到我的主控制器(工作表的所有者)和IB插座上的文本標籤。無法更改工作表上的文本標籤

筆尖加載正確,打開和關閉正確,但靜態文本標籤永遠不會更新。該連接IBOutlet中是這樣定義的:

IBOutlet id mySheetText; 

我使用的嘗試和修改在紙張上的文字的調用是這樣的:

[mySheetText setStringValue:@"Some text message..."]; 

如果標籤是這種格式能正常工作的主窗口,但如果標籤位於工作表上,則不執行任何操作。

IB中的所有連接看起來都是正確的。我敢肯定,我錯過了一些非常簡單的東西,而且我猜測它與這張表是不同的「窗口」而不是主窗口,但我似乎無法找到任何東西在文檔中指向正確的方向。

順便說一句,這裏是我連接片的方式......

NSWindow *mySheet; 

@property (assign) IBOutlet NSWindow *mySheet; 
@synthesize mySheet; 

...打開一看:

if (!serverSyncSheet) { 
    [NSBundle loadNibNamed:@"mySheetNibFile" owner:self]; 
} 

[NSApp beginSheet: self.mySheet 
    modalForWindow: [[NSApp delegate] mainWindow] 
    modalDelegate: self 
    didEndSelector: NULL 
      contextInfo: NULL]; 

任何想法?

*編輯*

好了,事實證明,我是部分正確的。如果我嘗試讀取文本值,結果證明它將其設置爲正確的文本,但表格未更新爲顯示更改。我懷疑我需要告訴窗口重繪...以前從未這樣做過。回到文檔,看看我能否找到它。如果有人知道打電話的方法,請告訴我。 :) 謝謝!

回答

0

那麼,我的懷疑是正確的......這是簡單的。

我不得不重繪窗口:

[mySheet display]; 

衛生署! :)