Swift3 iOS - 如何制作UITapGestureRecognizer触发器功能 [英] Swift3 iOS - How to make UITapGestureRecognizer trigger function

查看:346
本文介绍了Swift3 iOS - 如何制作UITapGestureRecognizer触发器功能的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试向UIButton添加 UITapGesture ,以便在点击时触发一个函数。我正在使用 Swift 3 并收到一些错误:

I am trying to add a UITapGesture to a UIButton so it will trigger a function when tapped. I am using Swift 3 and is getting some error:


终止应用程序未捕获的异常'NSInvalidArgumentException',原因:' - [SwiftRunner.ViewController tapBlurButton]:无法识别的选择器发送到实例0x149e07610'

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[SwiftRunner.ViewController tapBlurButton]: unrecognized selector sent to instance 0x149e07610'

这是粗略的我有什么:

// Swift 3
import UIKit
class ViewController {

   @IBOutlet weak var qsBlurButton: UIButton!       

   override func viewDidLoad() {
      super.viewDidLoad()

      let tapGesture = UITapGestureRecognizer(target: self, action: Selector(("tapBlurButton")))
      qsBlurButton.addGestureRecognizer(tapGesture)
   }

   func tapBlurButton(sender: UITapGestureRecognizer) {
      print("Please Help!")
   }
}


推荐答案

从您的代码中使用swift 3.0所以更改你的选择器这样的语法

From your code you are using swift 3.0 so change your selector syntax like this

let tapGesture = UITapGestureRecognizer(target: self, action: #selector(self.tapBlurButton(_:)))

和你的函数喜欢这个

func tapBlurButton(_ sender: UITapGestureRecognizer) {
    print("Please Help!")
}

修改:

不知道你正在使用带有敲击手势的按钮,而不是使用内置方法 addTarget for button无需为此创建点击手势

Not idea that you are using button with tap gesture, instead of that use inbuilt method addTarget for button no need to create tap gesture for it like this

qsBlurButton.addTarget(self, action: #selector(self.tapBlurButton(_:)), forControlEvents: .TouchUpInside)

func tapBlurButton(_ sender: UIButton) {
    print("Please Help!")
}

这篇关于Swift3 iOS - 如何制作UITapGestureRecognizer触发器功能的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆