2010-02-19 48 views
0

我有一個帶有UITextField的控制器A的導航控制器。UITextField問題

在另一個控制器視圖B中,我調用控制器A上的公共方法來清除UITextField上的文本。

在控制器A,有被實施的委託:

-(BOOL)textField: (UITextField *)textField 
shouldChangeCharactersInRange: (NSRange)range 
replacementString: (NSString *)string 

當我試圖清除的UITextField(不考慮),我無法觸發shouldChangeCharactersInRange委託。只有當UITextField處於可見狀態時,它才能像廣告一樣工作。

我想知道,因爲它沒有在視圖中,當我正在清理UITextField,有我不知道的含義?這是設計嗎?

基本上設置文本字段的屬性不會觸發文本字段。只有鍵盤輸入會。

回答

1

the doc

文本字段調用此方法每當用戶類型的文本字段一個新的字符或刪除現有字符。

不是程序員。所以它是通過設計。

+0

啊,錯過了這個。謝謝。 – 2010-02-19 16:04:46

0

我一直覺得以編程方式更改UITextField的text屬性不會觸發-textField:shouldChangeCharactersInRange:replacementString :.如果清除文本字段中的文本對您而言不夠,我認爲您應該手動執行相應的代碼。