私のUiView
には、ユーザーがスワイプした場合に回転アニメーションを実行する 'container'というsubView
があります。 基本的には、ユーザーがスワイプしながらホイールをある程度下にスワイプすると、反対の動作を実行するホイールのようです。UISwipeGestureRecognizer working weird
は、ここに私のviewDidLoadコードです:
override func viewDidLoad() {
super.viewDidLoad()
//Swipe Gesture Recognizers Setup
let swipeUp = UISwipeGestureRecognizer(target: self, action: #selector(self.swipeUp(_:)))
swipeUp.direction = .up
swipeUp.delegate = self as? UIGestureRecognizerDelegate
let swipeDown = UISwipeGestureRecognizer(target: self, action: #selector(self.swipeDown(_:)))
swipeDown.direction = .down
swipeDown.delegate = self as? UIGestureRecognizerDelegate
view.addGestureRecognizer(swipeDown)
view.addGestureRecognizer(swipeUp)
}
これらは上または下にスワイプための2つの機能です:
func swipeUp(_ sender: UISwipeGestureRecognizer) {
print("Swiped Up")
UIView.animate(withDuration: 1) {
self.borderContainer.transform = CGAffineTransform(rotationAngle: 0)
}
}
func swipeDown(_ sender: UISwipeGestureRecognizer) {
print("Swiped Down")
UIView.animate(withDuration: 1) {
self.borderContainer.transform = CGAffineTransform(rotationAngle: 45)
}}
すべてが素晴らしい作品、consolleは毎回アクションが実行されスワイプ方向を印刷していますしかし、それは関連する関数を各方向に1回しか呼びません。 は私が間違って何をやっている...私はそれを下にスワイプしたり、ユーザーが望んでいつでも追いつくことができるようにしたい、私は下にスワイプすると、その後、私は...
をスワイプすることができますことを
意味しますか? 私はビューとともに回転UIGestureRecogniserについて読んだので、それはもはや到達できないのですが、私はスーパーにジェスチャー認識器を適用するためのソリューションを適用し、私はアニメーションだビューに... Why does the Swipe Gesture Recognizer only work once?
すべてのヘルプは非常にではありません感謝!
ジェスチャ認識ではなく、変換作業がわからないという問題があります。あなたは欲望回転を達成するために角度を累積する必要があります。例の場合、2回スワイプするには90度回転させる必要があります –