【发布时间】:2019-08-01 19:36:13
【问题描述】:
我的密码文本字段旁边有一个眼睛按钮,假设在用户按下时将文本字段的安全文本输入属性设置为 false,它应该在用户移开手指时结束。
当用户使用带有 touchUpInside 事件的目标按下时,我成功地将属性设置为 false,但我不知道如何检测到此事件已停止。这就是我要找的。p>
在此之前我使用过长按手势识别器,但问题是代码花费了太多时间才能启动。这很正常,因为它是长按,但这不是我想要的行为。
我的代码是:
let gesture = UILongPressGestureRecognizer(target: self, action: #selector(eyePressed(sender:)))
passwordEyeButton.addGestureRecognizer(gesture)
@objc func eyePressed(sender : UILongPressGestureRecognizer){
switch sender.state {
case .began :
passwordEyeButton.setImage(eyeImage, for: .normal)
passwordTextField.isSecureTextEntry = false
case .ended :
passwordEyeButton.setImage(crossedEyeImage, for: .normal)
passwordTextField.isSecureTextEntry = true
default :
print("default state")
}
}
【问题讨论】: