gpt4 book ai didi

ios - touchesBegan 不触发

转载 作者:行者123 更新时间:2023-11-29 02:48:08 26 4
gpt4 key购买 nike

我有以下代码可以在用户点击 View 时隐藏键盘,但 TouchBegan 根本不会触发:

class LoginViewController: UIViewController, UITextFieldDelegate {

@IBOutlet var emailAddress: UITextField

@IBOutlet var password: UITextField



override func viewDidLoad() {

super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.

//Delegate fields
self.emailAddress.delegate = self
self.password.delegate = self


}

override func touchesBegan(touches: NSSet!, withEvent event: UIEvent!) {
self.emailAddress.resignFirstResponder()
self.password.resignFirstResponder()
}

func textFieldShouldReturn(textField: UITextField!) -> Bool{
self.emailAddress.resignFirstResponder()
self.password.resignFirstResponder()
return true;
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}


}

此 View Controller 位于导航 Controller 内部,因此不确定它是否与响应者链有关

最佳答案

您的代码对我来说工作得很好。 (不过,通常我会在每个文本字段上使用 self.view.endEditing(YES) 而不是 resignFirstResponder。)

很可能您正在点击的 View 以某种方式阻止事件被发送到响应者链。它可能是 userInteractionEnabled,一个 0 的 alpha,一个不将事件发送到响应链的 touchesBegan 的覆盖,一个吃掉触摸事件的手势识别器,等等。如果你做了一个最小的测试用例来显示这个问题,它可能会变得很明显。

关于ios - touchesBegan 不触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24855347/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com