2016-05-07 8 views
1

Я пытаюсь обнаружить вверх и вниз swipes одновременно в своем приложении. У меня есть SKScene, и я добавляю распознаватель жестов в func didMoveToView: view Я установил делегат: UIGestureRecognizerDelegate и получил следующее func, возвращающее true.Использование gestureRecognizer: shouldRecognizeSimultaneousWithGestureRecognizer

gestureRecognizerShouldBegin: gestureRecognizer 
gestureRecognizer: shouldRecognizeSimultaneouslyWithGestureRecognizer 
gestureRecognizer: shouldReceiveTouch 

Когда я красть одним пальцем я могу видеть, что shouldRecognizeSimultaneouslyWithGestureRecognizer обжигают и возвращает истину. Func, прикрепленный к салфету, также работает.

Но когда я пытаюсь провести в обоих направлениях одновременно, соответствующие функции не запускаются, а shouldRecognizeSimultaneouslyWithGestureRecognizer не запускаются.

Звуковые дорожки работают отлично, когда я делаю их отдельно, но когда одновременно выполняются никакие звуковые дорожки.

Что я здесь делаю неправильно?

Edit:

class GameControlller: SKScene, SKPhysicsContactDelegate, UIGestureRecognizerDelegate {} 

Добавление пойло:

override func didMoveToView(view: SKView) { 
    print("did move to view") 
    let swipeDown = UISwipeGestureRecognizer(target: self, action: #selector(GameControlller.PaddleMoveUp(_:))) 
    swipeDown.direction = .Down 
    self.view!.addGestureRecognizer(swipeDown) 

    let swipeUp = UISwipeGestureRecognizer(target: self, action: #selector(GameControlller.PaddleMoveDown(_:))) 
    swipeUp.direction = .Up 
    self.view!.addGestureRecognizer(swipeUp) 
    swipeDown.delegate = self 
    swipeUp.delegate = self 
} 

UIGestureRecognizer Делегат FUNC:

func gestureRecognizerShouldBegin(gestureRecognizer: UIGestureRecognizer) -> Bool { 
    return true 
} 


func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool { 
    print("Simultaneous gesture recognizer!") 
    return true 
} 
func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldReceiveTouch touch: UITouch) -> Bool { 
    return true 
} 
+0

Ошибка, вероятно, не в коде, который вы показываете нам. Укажите больше контекста (больше кода). Вы, должно быть, ошиблись в другом месте. – Coder1000

+0

Не забудьте «импортировать QuartzCore» –

+0

Добавлен QuartzCore ... не отличается – Starlord

ответ

1

Я предполагаю, что вы забыли установить делегат:

swipeUp.delegate = self 
swipeDown.delegate = self 
+0

Теперь я получил делегата. Но никакого другого поведения i – Starlord