2

3 つのタブを持つタブ付きアプリケーションがあり、Swipe Gesture Recogniser を使用してそれらの間を移行したいと考えています。

  1. オブジェクト ライブラリから 1 つの Swipe Gesture Recogniser を最初のビューにドラッグ アンド ドロップし、もう 1 つを 3 番目のビューにドラッグ アンド ドロップしました。左右両方にスワイプできるように、2 つ目のビューに 2 つ追加しました。
  2. スワイプを属性インスペクターに変更して、必要に応じて右または左にスワイプするようにしました
  3. Assistant エディターを使用して、Control+Drag を使用して、適切な ViewController.swift ファイルへのアクションを作成しました。

スワイプが機能するようにするには、他に何をすべきですか? 私がオンラインで見つけたすべてのガイドは、Objective-C で書かれています。これらのイベントを Swift で完了する方法を知っている人はいますか?

メインストーリーボード

FirstViewController.swift ファイル

4

2 に答える 2

0


編集:サンプル プロジェクトを github に追加しましたが、完全に機能します。自由にコピーするか、それを使ってください。



それらをストーリー ボードに追加する必要はありません。まず、次のコードをイニシャライザに追加します (ほとんどの場合、viewDidLoad):

    var swipeGesture = UISwipeGestureRecognizer(target: self, action: "SwipeToNextViewController:")
    swipeGesture.direction = UISwipeGestureRecognizerDirection.Left
    view.addGestureRecognizer(swipeGesture) 

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

viewController にジェスチャがあるので、左にスワイプすると SwipeToNextViewController() が呼び出され、右にスワイプすると SwipeToPreviousViewController() が呼び出されます。ジェスチャに関連付けられた 2 つの関数のコードを記述します。

func SwipeToNextViewController(gestureRecognizer:UISwipeGestureRecognizer)
{
    performSegueWithIdentifier("next", sender: self)
}

func SwipeToPreviousViewController(gestureRecognizer:UISwipeGestureRecognizer)
{
    performSegueWithIdentifier("previous", sender: self)
}

これら 2 つの関数は、ビューが左右にスワイプされたときに呼び出されます。そこにコードを追加すると (この場合は performSegue)、別の viewController にセグエできます。

それが役に立てば幸い :)

于 2015-04-24T04:50:38.440 に答える