2017-09-25 76 views
0

我來到這裏一個UITableViewCell類,用於管理在桌子上觀察室右側的UITextField設置。取決於表格,在任何給定時間顯示從這些單元格的4到8的任何位置;我使用它們進行單元數據輸入(即輸入距離,溫度等),因此有相當多的邏輯被鎖定到單元子類。後按下按鈕和文本域開關的UITextField失去焦點(鍵盤仍然可見)

無論出於何種原因,我發現,如果我執行下列步驟:

1) Tap on a text field to begin editing and bring up the keyboard 
2) Enter in some text 
3) Tap the clear button (which is enabled on the text field) 
4) Tap on another textfield in the same table view 

那麼當前的UITextField失去焦點,但第二個文本字段不會獲得它。這意味着目前沒有UITextField有焦點,但鍵盤仍然顯示在屏幕上......但是沒有任何活動的文本字段,它什麼也不做,並且不能被解僱(大概是因爲沒有第一響應者辭職?)。

然後我可以點擊另一個文本字段中再次,它會採取集中並開始editing-此時鍵盤操作變得再次按下回車/ done鍵將其關閉,並結束編輯如常。

如果我只是在另一個的UITextField挖掘沒有首先擊中一個按鈕,然後在第二的UITextField將立即獲得焦點(因爲我希望它)。但是,如果嘗試在點擊除文本字段以外的任何類型的按鈕之後切換字段,UITextField之外的按鈕按鈕將會導致發生此行爲。

有誰知道是什麼原因造成的?這聽起來像響應者鏈有什麼問題,但我不知道問題會是什麼或如何解決它。

回答

0

想通了這是什麼?

的問題是,我是重裝的委託方法,我的自定義單元格被編輯完成後調用表中的數據。顯然,在切換UITextFields的過程中重新加載tableview數據會導致第二個文本字段無法獲得焦點(但鍵盤不會被忽略),因此導致了我所看到的問題。

0

首先,你確信在表textfiled有一個唯一的標識符,如標籤。 其次,如果你想要一個文本文件丟失的第一響應者,但你仍然應該使另一個文本文件成爲第一響應者,但鍵盤仍然出現。

相關問題