2013-10-02 72 views
1

我有一個清除按鈕的UITextField。每當用戶辭去文本字段上的第一個響應者時,就會將更改提交給web服務。UITextField清除按鈕調用didEndEditing兩次

當用戶點擊清除按鈕時,文本字段看起來會失去其第一個響應者狀態,從而導致調用didEndEditing委託方法。因此,web服務調用是使用舊的填充值進行的。然後,文本字段被清除,再次調用didEndEditing,再次調用Web服務。

爲什麼會發生這種情況?我希望清除按鈕清空文本,然後調用委託上的didEndEditing,這樣您只能得到一條消息。

+1

通過「清除按鈕」,你是指文本框中的嵌入式清除按鈕還是你的自定義按鈕?默認的清除按鈕應該只是清除字段中的文本,而不是調用didEndEditing。處理鍵盤和文本字段的部分代碼會有所幫助。 – vinaut

+0

爲您正在討論的語言和ui-framework /設備添加標籤。然後專家會注意到你的問題。 – Meier

回答

0

如果您指的是UITextField中內置的清除按鈕,當用戶點擊該按鈕時會導致文本字段鬆開焦點,因爲按鈕本身接收到觸摸 - 這會觸發第一個-didEndEditing。然後釋放清除按鈕將清除文本字段,該文本字段在文本被清除時調用-didEndEditing再次觸發。是的,這絕對不是理想的。

相關問題