UIButton Click Event not working if I add UITapGestureRecognizer in swift(如果我在 swift 中添加 UITapGestureRecognizer,则 UIButton 单击事件不起作用)
问题描述
在我的登录页面上,如果我专注于 UITextEdit 以输入电子邮件和密码,则会出现键盘并向上滚动登录页面.如果我触摸键盘外部,我会添加此代码以删除键盘.
On my login page, if I focus to UITextEdit for entering email and password, keyboard appears and login page scroll up. And I add this code for remove keyboard if I touch outside of keyboard.
extension UIViewController {
func hideKeyboardWhenTappedAround() {
let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(UIViewController.dismissKeyboard))
tap.cancelsTouchesInView = false
view.addGestureRecognizer(tap)
}
@objc func dismissKeyboard() {
view.endEditing(true)
UIView.animate(withDuration: 0.3, animations: {
self.view.frame = CGRect(x: 0, y: 0, width: self.view.frame.width, height: self.view.frame.height)
})
}
}
在我的 viewDidLoad() 函数中,我是这样添加的.
And on my viewDidLoad() function, I added it like this.
override func viewDidLoad()
{
super.viewDidLoad()
//TODO
self.hideKeyboardWhenTappedAround()
...
}
效果很好,但是如果我在键盘仍然打开时单击登录按钮,dismisskeyboard() 函数可以工作,但 btnClick 函数不起作用.
It works well, But If I click login button when keyboard is still opening, dismisskeyboard() function works but btnClick function doesn't work.
@IBAction func LoginBtnClick(_ sender: Any)
{
print("loginBtn")
//...
}
我该如何解决这个问题?
How can I solve this problem?
推荐答案
不要在主viewController的视图中添加手势 在UIButton下面添加全屏子视图并添加手势
Don't add the gesture to main viewController's view add a full screen subview below UIButton and add the gesture to it
这篇关于如果我在 swift 中添加 UITapGestureRecognizer,则 UIButton 单击事件不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如果我在 swift 中添加 UITapGestureRecognizer,则 UIButton 单击事件不起作用


- UITextView 内容插图 2022-01-01
- 如何在 iPhone 模拟器中重置 NSUserDefaults 数据? 2022-01-01
- URL编码Swift iOS 2022-01-01
- 类似于 Mail.app 的 iPad 模态视图控制器? 2022-01-01
- SetOnItemSelectedListener上的微调程序错误 2022-01-01
- 网上有没有好的 UIScrollView 教程? 2022-01-01
- Xcode 7.3 中带有 UILabel 的 UIStackView 2022-01-01
- GPS状态的广播接收器? 2022-01-01
- 在 Iphone SDK 的导航栏上添加多个按钮 2022-01-01
- 使用自动布局向 UIScrollView 添加动态大小的视图 2022-01-01