2016-09-20 9 views
1

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

callメソッドのようにコールする必要がありますか? –

+0

Swift Version 3.0 – Vyshakh

+0

@Vyshakh - 更新された回答を確認する –

答えて

5

このような書き込みセレクタ。

スイフト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:))) 

注: 1つの提案があるバッターメソッド名は常に小文字ではない大文字で始まります。 HandleSwipesの代わりにhandleSwipesを使用するとバッターです。

2

あなたは

func HandleSwipes(_ sender: UISwipeGestureRecognizer){ 

    if(sender.direction == .left) 
    { 
     print("Swiped left") 
    } 
} 
関連する問題