UISwipeGestureRecognizer抛出无法识别的select器发送错误
我在iOS应用程序中遇到unrecognized selector sent
错误。 我试着根据其他类似的线程中提到的答案解决问题,但失败了。 请看下面的代码,并帮助我。
谢谢
class ThirdViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. let leftSwipe = UISwipeGestureRecognizer(target: self, action: Selector(("HandleSwipes:"))) let rightSwipe = UISwipeGestureRecognizer(target: self, action: Selector(("HandleSwipes:"))) leftSwipe.direction = .left rightSwipe.direction = .right view.addGestureRecognizer(leftSwipe) view.addGestureRecognizer(rightSwipe) } func HandleSwipes(sender: UISwipeGestureRecognizer) { //if(sender.direction == .left) //{ // tabBarController?.selectedIndex = 1 //} } }
像这样写select器。
迅速2.3或更低。
let leftSwipe = UISwipeGestureRecognizer(target: self, action: #selector(HandleSwipes(_:))) let rightSwipe = UISwipeGestureRecognizer(target: self, action: #selector(HandleSwipes(_:)))
Swift 3
let leftSwipe = UISwipeGestureRecognizer(target: self, action: #selector(HandleSwipes(sender:))) let rightSwipe = UISwipeGestureRecognizer(target: self, action: #selector(HandleSwipes(sender:)))
注意:一个build议是连击方法名称总是以小写不以大写开头。 所以如果你使用handleSwipes
而不是HandleSwipes
那就是连击。
你需要打电话
override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. let leftSwipe = UISwipeGestureRecognizer(target: self, action: #selector(HandleSwipes(_:))) let rightSwipe = UISwipeGestureRecognizer(target: self, action: #selector(HandleSwipes(_:))) leftSwipe.direction = .left rightSwipe.direction = .right view.addGestureRecognizer(leftSwipe) view.addGestureRecognizer(rightSwipe) }
调用方法如
func HandleSwipes(_ sender: UISwipeGestureRecognizer){ if(sender.direction == .left) { print("Swiped left") } }