在Swift中向左或向右滑动

3

我有一个页面,从数据库检索数据以显示当前信息或之前或之后的信息。

它是这样的:

if Status = 1 it shows the current
Status = 2 it shows previous
Status = 0 it shows next

到目前为止,我所做的是显示当前的数据并且它完美地展示出来了。现在我需要添加一个功能,当用户向右滑动屏幕时,会显示下一张图片,向左滑动时则会显示上一张。

有任何想法或指引从何开始吗?

谢谢!


你说,“到目前为止我所做的是显示当前数据,它完美地展示了出来”,你是在一个视图控制器上展示数据吗? - iamyogish
请查看此链接:http://www.ioscreator.com/tutorials/detecting-swipe-gesture-tutorial-ios8-swift - Subin K Kuriakose
@iamyogish 是的,数据正在一个视图控制器上显示。 - MuaathAli
然后,您可以使用UIPageViewController来实现您想要的效果。 - iamyogish
@iamyogish会研究一下!谢谢。 - MuaathAli
@SubinKKuriakose 感谢您的教程! - MuaathAli
2个回答

12
override func viewDidLoad()
{
super.viewDidLoad()

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

    let swipeLeft = UISwipeGestureRecognizer(target: self, action: "respondToSwipeGesture:")
    swipeLeft.direction = UISwipeGestureRecognizerDirection.Left
    self.view.addGestureRecognizer(swipeLeft)

}


func respondToSwipeGesture(gesture: UIGestureRecognizer)
{
    if let swipeGesture = gesture as? UISwipeGestureRecognizer
    {
        switch swipeGesture.direction
        {
            case UISwipeGestureRecognizerDirection.Right:
                 //write your logic for right swipe
                  print("Swiped right")

            case UISwipeGestureRecognizerDirection.Left:
                 //write your logic for left swipe
                  print("Swiped left")

            default:
                break
        }
    }
}

2
在上面的示例代码中,您可以只使用一个手势识别器,并将方向设置为swipeRight.direction = [UISwipeGestureRecognizerDirection.left, UISwipeGestureRecognizerDirection.right] - leafcutter
我收到了信号SIGABRT :( - Ahmadreza

-1
class WelcomeController: UIViewController, UIGestureRecognizerDelegate {

    @IBOutlet var backgroundView: UIView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        // Create left swipe gesture recognizer
        let leftSwipe = UISwipeGestureRecognizer(target: self, action: #selector(handleSwipe(_:)))
        leftSwipe.direction = .left
        backgroundView.addGestureRecognizer(leftSwipe)
        
        // Create right swipe gesture recognizer
        let rightSwipe = UISwipeGestureRecognizer(target: self, action: #selector(handleSwipe(_:)))
        rightSwipe.direction = .right
        backgroundView.addGestureRecognizer(rightSwipe)
        
    }
    
    @objc func handleSwipe(_ gestureRecognizer: UISwipeGestureRecognizer) {
        if gestureRecognizer.direction == .left {
            // Handle left swipe
        } else if gestureRecognizer.direction == .right {
            // Handle right swipe
        }
    }
}

// Use ChatGPT

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接