Swift:iOS使用滑动手势更改视图

问题描述 投票:5回答:4

我是iOS开发的新手。

如何实现滑动手势以来来回更改视图?到目前为止我见过的最好的例子是Soundcloud应用程序,但我无法弄清楚如何使它工作。

ios swift uiview swipe-gesture
4个回答
8
投票

使用此代码......

override func viewDidLoad() {
    super.viewDidLoad()

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


}

func respondToSwipeGesture(gesture: UIGestureRecognizer) {

    if let swipeGesture = gesture as? UISwipeGestureRecognizer {

        switch swipeGesture.direction {

        case UISwipeGestureRecognizerDirection.Right:

            println("Swiped right")

//change view controllers

    let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)

        let resultViewController = storyBoard.instantiateViewControllerWithIdentifier("StoryboardID") as ViewControllerName

        self.presentViewController(resultViewController, animated:true, completion:nil)    



        default:
            break
        }
    }
}

2
投票

Swift 4

override func viewDidLoad()
{
    super.viewDidLoad()

    let leftSwipe = UISwipeGestureRecognizer(target: self, action: #selector(handleSwipes(_:)))
    let rightSwipe = UISwipeGestureRecognizer(target: self, action: #selector(handleSwipes(_:)))

    leftSwipe.direction = .left
    rightSwipe.direction = .right

    view.addGestureRecognizer(leftSwipe)
    view.addGestureRecognizer(rightSwipe)
}

@objc func handleSwipes(_ sender:UISwipeGestureRecognizer)
{
    if (sender.direction == .left)
    {
       print("Swipe Left")

       // show the view from the right side
    }

    if (sender.direction == .right)
    {
       print("Swipe Right")

       // show the view from the left side
    }
}

0
投票

您可以将UISwipeGestureRecognizer添加到您的UIView中,并将此手势添加到目标以及手势发生时要执行的操作

 var swipeGesture = UISwipeGestureRecognizer(target: self, action: "doSomething")
 myView.addGestureRecognizer(swipeGesture)

 func doSomething() {

    // change your view's frame here if you want        
 }

-1
投票

本教程可能对您有所帮助:http://www.avocarrot.com/blog/implement-gesture-recognizers-swift/

基本上,您需要在视图中添加一个手势识别器来侦听滑动手势。然后,当它检测到滑动时,请按下一个视图。

© www.soinside.com 2019 - 2024. All rights reserved.