假設我的應用程序中有2個文本框。第一個Textfield是輸入電子郵件(鍵盤顯示),第二個Textfield是針腳(不需要顯示任何鍵盤)。點擊另一個UITextField後自動禁用鍵盤
當我點擊第一個文本框時,鍵盤顯示出來,接下來我按下第二個文本框(這將傳遞給另一個UI &控制器)來輸入PIN。所以它在不同的頁面上,我使用Protocol來傳遞控制器之間的值。
我已經實現了self.view.endEditing(true),如果我在UI中的任何位置按下以關閉鍵盤,此工作正常。
問題是,當我點擊第一個文本域&立即輕敲第二個,而不用點擊UI上的任何地方。第一個文本字段中的鍵盤不會自動關閉並卡在其他控制器&頁面中。
那麼如何禁用第二個textview的鍵盤。因爲我最終不需要它。
這裏有幾個代碼。
此代碼是當我編輯第二個文本字段自動目標到另一個控制器。
//Implement UITextFieldDelegate
extension LoginViewController: UITextFieldDelegate{
func textFieldDidBeginEditing(_ textField: UITextField) {
let secondViewController = self.storyboard?.instantiateViewController(withIdentifier: "EnterMpinViewController") as! EnterMpinViewController
secondViewController.pinProtocol = self
textField.resignFirstResponder()
self.navigationController?.pushViewController(secondViewController, animated: true)
}
嘗試調用'self.view。 endEditing(true)'在任何第二個視圖控制器的視圖生命週期方法中。第二個控制器上的 – Rishab
我不使用UITextfield,只是UIlabel顯示我的PIN – StevenTan
'self.view.endEditing(true)'用於隱藏鍵盤。 – Rishab