点击手势识别器不会触发
Posted
技术标签:
【中文标题】点击手势识别器不会触发【英文标题】:tap gesture recognizer does not get fire 【发布时间】:2016-03-14 20:28:25 【问题描述】:我想实现一个动作,如果用户点击屏幕上的某个位置,那么键盘应该会消失。
我有一个应用程序,如下所示
当我点击文本字段时,会出现键盘,这很好。 现在我想,当我点击屏幕上的某个位置时,键盘应该会消失。 我实现了一个具有以下属性值的点击手势识别器:
我在视图控制器中绑定了以下动作的点击手势识别器
import UIKit
class ViewController: UIViewController
@IBOutlet weak var nameField: UITextField!
@IBOutlet weak var numberField: UITextField!
override func viewDidLoad()
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
override func didReceiveMemoryWarning()
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
@IBAction func textFieldDoneEdition(sender: UITextField)
sender.resignFirstResponder()
@IBAction func onTapGestureRecognized(sender: AnyObject)
nameField.resignFirstResponder()
numberField.resignFirstResponder()
点击手势识别器绑定到该函数。 当我点击屏幕上的某个地方时,它根本不起作用。键盘还在。我究竟做错了什么?
【问题讨论】:
您是否将触摸手势识别器拖到视图上?该函数实际上被调用了吗? 我更新了我的帖子,请考虑最后一张图片。我在函数中设置了断点,当点击屏幕上的某个地方时它不会停止。 首先,断点永远不会被命中,因为它们不活跃(为了让它们活跃,它们需要是蓝色的(不褪色))。再次单击它们使它们变为蓝色。 您可以在选择轻击手势识别器的情况下制作连接检查器(实用程序面板中最右侧的箭头)的屏幕截图吗? postimg.org/image/5kahv4tcd 【参考方案1】:您的视图应该有关联的手势。
你的手势应该有Sent actions
这应该足够了。
如果出于某种神秘原因,这些都不起作用,您可以选择关闭键盘。
func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent)
【讨论】:
以上是关于点击手势识别器不会触发的主要内容,如果未能解决你的问题,请参考以下文章
为什么iOS中的轻敲手势识别器的界面构建器操作不会触发? [重复]