2017-02-14 55 views
0

我面臨一個奇怪的問題,與UITextField s和keyboard處理能見度。iOS swift 3崩潰UITextFields編輯和響應

我目前的控制器的目的是讓用戶編輯一些數據,但也讀一些其他數據。

所以我決定在其中包含幾個文本框,並且當用戶修改某些數據時出現一個按鈕,並且他可以按下它來發送修改。但要讀取其他數據keyboard必須隱藏。

我做了一些研究,以找到一個工作方式這樣做,如:

  • self.view.endEditing(true)
  • currentTextField.resignFirstResponder()
  • 甚至創造一個「隱藏的UITextField」,並要求它becomeFirstResponder當過程完成

這些嘗試都沒有以鍵盤隱藏結束,但以Optional value崩潰結束

我使用Swift 3XCode 8.2.1現在

如果有人有線索,謝謝通過提前

+0

你可以顯示一些代碼。 –

+0

請輸入一些代碼。你有沒有使用可選綁定來避免這種類型的崩潰? – KrishnaCA

回答

0

您的視圖控制器需要繼承UITextFieldDelegate。實現這個協議定義的功能,你應該有你需要的控制。不要忘記設置myTextfield.delegate = self - 或者任何實現協議的對象。

一個例子是「DidEndEditing」和類似的。 如果您已經這樣做了,請提供一些代碼以進一步診斷您的問題。

0

謝謝您的回答,

我實現UITextFieldDelegate從開始的代碼和我所有的TextField的使用editingDidBegineditingDidEnd和碰撞發生時,我打電話從API調用的結果下面的代碼

self.view.endEditing(true) 

我剛剛發現了一種在API調用之前使用此代碼成功隱藏鍵盤的方法。可悲的一面是,這種新方式避免了在通話失敗時保持鍵盤可見的可能性。

0

self.view.endEditing(真)

這行不應該崩潰。它只是從UITextfield辭職。你能給我詳細的關於你的崩潰嗎?發生崩潰時,在日誌控制檯中寫入的內容。據我所知self.view.endEditing(true)肯定會滿足你的要求。