UISwipeGestureRecognizer抛出无法识别的选择器发送错误

问题描述:

我在我的iOS应用程序中出现unrecognized selector sent错误。我尝试根据其他类似线程中提到的答案解决问题,但失败了。请看下面的代码,并帮助我解决这个问题。UISwipeGestureRecognizer抛出无法识别的选择器发送错误

感谢

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 
     //} 
    } 
} 
+0

斯威夫特版本

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) } 

调用方法调用? –

+0

Swift Version 3.0 – Vyshakh

+0

@Vyshakh - 检查更新的答案 –

写入选择这样的。

Swift 2.3或更低。

let leftSwipe = UISwipeGestureRecognizer(target: self, action: #selector(HandleSwipes(_:))) 
let rightSwipe = UISwipeGestureRecognizer(target: self, action: #selector(HandleSwipes(_:))) 

斯威夫特3

let leftSwipe = UISwipeGestureRecognizer(target: self, action: #selector(HandleSwipes(sender:))) 
let rightSwipe = UISwipeGestureRecognizer(target: self, action: #selector(HandleSwipes(sender:))) 

注:建议之一是连击方法名称始终以小写不上的情况下启动。因此,如果您使用handleSwipes而不是HandleSwipes,那么它就是连击。

你需要像喜欢

func HandleSwipes(_ sender: UISwipeGestureRecognizer){ 

    if(sender.direction == .left) 
    { 
     print("Swiped left") 
    } 
}