質問

私のiPhoneアプリでは、ビューでユーザーが作成したスワイプジェスチャーを認識する必要があります。

スワイプジェスチャーを認識し、スワイプで関数を実行したいと思います。

ユーザーがスワイプジェスチャーをするので、ビューが水平にスライドし、別のビューを表示する必要があることが必要です。

何をする必要がありますか?

どうすれば認識できますか?

役に立ちましたか?

解決

使用 UISwipeGestureRecognizer. 。他に言うことはそれほど多くありませんが、ジェスチャー認識者は簡単です。がある WWDC10ビデオ 主題についても。セッション120と121。:)

他のヒント

それがどのように機能するかを知っているが、それでも簡単な例が必要な場合は、ここにあります! (少なくとも私にとっては便利になります。コピーパステの例が必要になると、それを覚えていないことを試みることなく)

UISwipeGestureRecognizer *mSwipeUpRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(doSomething)];

[mSwipeUpRecognizer setDirection:(UISwipeGestureRecognizerDirectionUp | UISwipeGestureRecognizerDirectionDown | UISwipeGestureRecognizerDirectionLeft | UISwipeGestureRecognizerDirectionRight)];

[[self view] addGestureRecognizer:mSwipeUpRecognizer];

および.hファイルの追加:

<UIGestureRecognizerDelegate>

以下の次のリンクは、iPhoneのスワイプを検出する方法を説明するビデオチュートリアルにリダイレクトします。 Objective-C:

uiswipegesturerecognizerチュートリアル(iPhoneでスワイプを検出)

それを達成するために、以下のサンプルをコードします 迅速:

あなたはそれを持っている必要があります UISwipeGestureRecognizer 各方向に。それは少し奇妙です UISwipeGestureRecognizer.direction プロパティはオプションスタイルのビットマスクですが、各認識者は1つの方向しか処理できません。必要に応じてすべてを同じハンドラーに送信して、そこに並べ替えたり、別のハンドラーに送信したりできます。これが1つの実装です。

override func viewDidLoad() {
    super.viewDidLoad()

    var swipeRight = UISwipeGestureRecognizer(target: self, action: "respondToSwipeGesture:")
    swipeRight.direction = UISwipeGestureRecognizerDirection.Right
    self.view.addGestureRecognizer(swipeRight)

    var swipeDown = UISwipeGestureRecognizer(target: self, action: "respondToSwipeGesture:")
    swipeDown.direction = UISwipeGestureRecognizerDirection.Down
    self.view.addGestureRecognizer(swipeDown)
}

func respondToSwipeGesture(gesture: UIGestureRecognizer) {

    if let swipeGesture = gesture as? UISwipeGestureRecognizer {

        switch swipeGesture.direction {
        case UISwipeGestureRecognizerDirection.Right:
            println("Swiped right")
        case UISwipeGestureRecognizerDirection.Down:
            println("Swiped down")
        default:
            break
        }
    }
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top