Swift3 iOS - 如何制作UITapGestureRecognizer触发器功能 [英] Swift3 iOS - How to make UITapGestureRecognizer trigger function
问题描述
我正在尝试向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屋!