2016-09-13 5 views
1

もここでは私のコード である私は2つの左スワイプするための機能と右スワイプ 両方の機能が動作しますが、私は二回スワイプする場合にのみ...何も を起こりません最初の時間を持ちたいですありがとうございました!迅速スワイプ認識doens't仕事

override func viewWillAppear(animated: Bool) { 

    SwipeGesture.addTarget(self, action: "addSwipe") 
} 

func addSwipe() { 
    let directions: [UISwipeGestureRecognizerDirection] = [.Right, .Left] 
    for direction in directions { 
     let gesture = UISwipeGestureRecognizer(target: self, action: Selector("handleSwipe:")) 
     gesture.direction = direction 
     self.view.addGestureRecognizer(gesture) 
    } 
} 

func handleSwipe(sender: UISwipeGestureRecognizer) { 
    switch sender.direction { 
    case UISwipeGestureRecognizerDirection.Right: 
     print("swipe to close") 
     self.dismissViewControllerAnimated(true, completion: nil) 

    case UISwipeGestureRecognizerDirection.Left: 
     print("Swiped left") 

     let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil) 
      let resultViewController = storyBoard.instantiateViewControllerWithIdentifier("chatAlbumViewController") as UIViewController 
      self.presentViewController(resultViewController, animated:true, completion:nil) 
    default: 
     break 
    } 
} 
+0

を必要としていません。 addTarget(self、action: "addSwipe") 'SwipeGestureとは何ですか?私はviewWillAppearにaddSwipeのコードを追加しますが、メソッドを再利用して常にビューにロードされるようには見えません – Scriptable

+0

@IBOutlet var SwipeGesture:UISwipeGestureRecognizer! –

答えて

0

あなたはジェスチャーrecognisorsが追加されますので、最初のスワイプは、それらを登録した後、第2は、実際に何をしたいんジェスチャーrecognisorを持つbecuaseあなたが二回スワイプする必要がある理由があります。

、修正このコード変更するには: `SwipeGesture:

override func viewWillAppear(animated: Bool) { 

    self.addSwipe() 
} 

override func viewWillAppear(animated: Bool) { 

    SwipeGesture.addTarget(self, action: "addSwipe") 
} 

をし、他のいずれかのコンセントを取り外し、ために、このコードは何であるか

+0

お返事ありがとうございました!完璧に動作します –

+0

これはあなたの質問に答える場合は、答えの横にある灰色のチェックマークをクリックして受け入れられた回答としてマークしてください。ありがとう – Scriptable