我试图将一个添加UITapGesture到UIButton,以便在点击时将触发一个功能。我正在使用,Swift 3并出现一些错误:
UITapGesture
Swift 3
由于未捕获的异常’NSInvalidArgumentException’而终止应用程序,原因:’-[[SwiftRunner.ViewController tapBlurButton]:无法识别的选择器已发送到实例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像这样更改语法
selector
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(self.tapBlurButton(_:)))
和你这样的功能
func tapBlurButton(_ sender: UITapGestureRecognizer) { print("Please Help!") }
编辑:
不知道您正在使用带有点击手势的按钮,而不是使用内置方法addTarget来创建按钮,而无需像这样创建点击手势
addTarget
qsBlurButton.addTarget(self, action: #selector(self.tapBlurButton(_:)), forControlEvents: .TouchUpInside) func tapBlurButton(_ sender: UIButton) { print("Please Help!") }