2011-10-28 24 views
0

我有一個簡單的可可應用程序,其頂部有一個可編輯的textfield text1,用戶可以輸入內容以及不可編輯textfield/label text2在底部,這意味着準確地顯示輸入到text1中的內容。可可:如何在沒有按下輸入的情況下讓textfield發送操作(用戶鍵入的內容)

我的問題是,我只能得到text2更新自己,當用戶按下輸入後鍵入到text1。有沒有什麼辦法可以使text2在沒有用戶按下輸入到text1的情況下自動更新?

回答

1

聽起來像是Cocoa bindings的工作。你可以:

  1. 中聲明你的模型類的NSString屬性(在簡單的情況下,可能是您的應用程序委託);
  2. text1綁定到該字符串屬性,確保選擇'連續更新值';
  3. text2綁定到該字符串屬性。

需要編碼的唯一步驟是步驟1.步驟2和3可以直接在nib文件中配置。

+1

要在不使用綁定的情況下實現此行爲,請在IB的** Control **窗格下選擇** Continuous **框。 – paulmelnikow

1

如果您希望在每次文本更改時發出通知,請在文本字段的代理中處理controlTextDidChange:。委託可以是任何響應此消息的對象,通常使用窗口的控制器。

+0

感謝您的幫助,我認爲第一個選項有效。但第二個選項不會因爲text1不會自動失去firstresponder狀態,所以一旦用戶停止輸入,「編輯結束」也不會自動發生。 – hollow7

+0

btw text1的代表應該是什麼? – hollow7

+0

非常感謝! – hollow7

相關問題