ios - textFieldShouldBeginEditing 被错误的文本字段触发

标签 ios iphone swift3 uitextfield

我有两个文本字段 dateNTextFieldprenomTextField,其中仅设置了 dateNTextField 的委托(delegate):

func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
    if textField.tag == self.dateNTextField.tag {
        print(textField.tag)
        self.view.endEditing(true)
    }
    return true
}

但是,即使两个文本字段具有不同的标签,我也会得到相同的结果! 任何帮助将不胜感激。

编辑:

override func viewDidLoad()
{ 
 self.dateNTextField.delegate = self
let tapGestureRecognizer = UITapGestureRecognizer(target:self, action:#selector(chooseImage(recognizer:)));
self.picker.delegate = self
profilImage.isUserInteractionEnabled = true
profilImage.addGestureRecognizer(tapGestureRecognizer)
tapGesture.cancelsTouchesInView = true
self.view.addGestureRecognizer(tapGesture)
tapGesture.delegate = self
self.dateNTextField.accessibilityIdentifier = "date"
self.prenomTextField.accessibilityIdentifier = "prenom"}

最佳答案

尝试将 return true 语句放在 if 条件中。

func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
        if textField == self.dateNTextField{
            self.view.endEditing(true)
            return true
        }
        return false
    }

关于ios - textFieldShouldBeginEditing 被错误的文本字段触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42068377/

相关文章:

ios - 如何通过点击其调暗 View 来关闭 UIPresentationController

iphone - UILocalNotification 每分钟重复一次

iphone - UIImage 中的一个圆圈

python - 在 swift 和 python 中从相同的返回类型获得不同的结果

ios - Audio Session : Using measurement mode causes low volume/no sound in iOS 7. 1

ios - 在 View Controller 之间传输数据的新方法

ios - App Store 上的我的应用程序在未发布更新的情况下自行更新

iphone - 我如何分配应用程序来打开邮件附件

ios - Google map 无法缩放到我当前的位置

ios - URLSessionDelegate、URLSessionDataDelegate 问题