swift ︰ 当我打开视图控制器和它说两次把它压的第一次按笔势识别器。如何解决这个问题?

发布时间: 2017/3/6 23:20:55
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

当我打开我的视图控制器时遇到 4 手势识别器,用我点击两次这喊发生︰

@IBOutlet var doubleTap: UITapGestureRecognizer!
@IBAction func doubleTapAction(sender: AnyObject) {
    doubleTap.numberOfTapsRequired = 2
    print("Button was 2x")
}

但当我按 4 个按钮之一 (压只有一次。) 的第一次打印我拍了拍两次。在第一次后,它工作正常。

谁能告诉我如何来解决这个问题吗?

感谢您阅读我的问题,我希望有人能帮助我。

如果你不懂我的问题,请评论。

解决方法 1:

这是因为第一次笔势识别器设置以识别一个单一的tap。你改变要点击两次,但你将其设置在错误的地方,因为你已经拍了拍一次,所以它进入行动并执行那里的代码中:

self.doubleTap.numberOfTapsRequired = 2 // This is wrong here!
print("Button was 2x")

所以它更改识别器识别两个tap,但它已经被认可的一个 (这就是为什么获取执行代码) 所以它打印以及该文本。

它没有任何意义,你设置,每次你点击,你只需要做一次。这样做的好地方是 viewDidLoad

您还可以界面生成器中设置所需的抽头数目。

代码示例︰

@IBOutlet var doubleTap: UITapGestureRecognizer!
@IBAction func doubleTapAction(sender: AnyObject) {
    print("doubleTap was 2x")
}

override func viewDidLoad() {
    super.viewDidLoad()

    self.doubleTap.numberOfTapsRequired = 2
}
官方微信
官方QQ群
31647020