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

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

问题描述

我正在尝试将 UITapGesture 添加到 UIButton,以便在点击时触发功能.我正在使用 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 所以像这样改变你的 selector 语法

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 按钮无需像这样为其创建点击手势

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天全站免登陆