我面臨一個荒謬的問題textField,我有兩個文本框,即tfA和tfB,我設置了代表和所有這些文本框,我想要的是,如果我點擊tfA然後它應該打印一些東西,它是打印,如果我點擊tfB它應該出現鍵盤,以及它運行良好,但是當我再次點擊tfA然後它應該打印一些東西,鍵盤應該根據在那裏給出的條件解僱,但鍵盤沒有解僱那裏也self.view.endEditing(true)
不在這裏工作。代碼在屏幕截圖中給出,我在這裏做錯了什麼?UITextField的resignFirstResponder不工作既不工作self.view.endEditing()
CODE:斯威夫特3
import UIKit
class ViewController: UIViewController, UITextFieldDelegate {
@IBOutlet weak var tfA: UITextField!
@IBOutlet weak var tfB: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
tfA.delegate = self
tfB.delegate = self
}
func textFieldDidBeginEditing(_ textField: UITextField) {
if textField == tfA{
print("TFA Clicked")
textField.resignFirstResponder()
self.view.endEditing(true)
}else{
tfB.becomeFirstResponder()
}
}
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
textField.resignFirstResponder()
return true
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
截圖
刪除'textField.resignFirstResponder()'和嘗試。當你從tfB回來時,它的鍵盤處於活動狀態。所以'self.view.endEditing(true)'足以讓視圖中的鍵盤處於活動狀態。 – ron27
如果你不想讓tfA可編輯,那麼你爲什麼不簡單地'tfA.isEnabled = false' –
@ ron27我試過了,但是沒有工作。 –