如何在 Swift 中将滑动动作发送到 UIView

How to send Swipe Action to UIView in Swift

我正在尝试克隆 Tinder,已通过 Yalantis/Koloda (https://github.com/Yalantis/Koloda) 向左滑动(不喜欢的人)和向右滑动(喜欢的人)。我还有两个按钮 like/dislike 的图像。我希望我的 mainView 在我触摸 like/dislike 图像时滑动 Left/Right。

let likeImageTap = UITapGestureRecognizer(target: self, action: #selector(HomeViewController.sendSwipeRightAction))
        likeImage.isUserInteractionEnabled = true
        likeImage.addGestureRecognizer(likeImageTap)

这个函数应该怎么写?

    @objc func sendSwipeRightAction() {
        
    }

这是我的协议

extension HomeViewController: KolodaViewDataSource, KolodaViewDelegate {
   //...
       func koloda(_ koloda: KolodaView, didSwipeCardAt index: Int, in direction: SwipeResultDirection)
    {
        if direction == .left {
          //...
          print ("swipe left")
        }
        if direction == .right {
          //...
          print("swipe right")
        }
    }
}

这是我的看法

@IBOutlet var mainView: KolodaView!

我尝试使用这个函数,然后在点击图像时调用它,这样我就可以像滑动一样做我想做的事,但视图不会切换到下一张图像。

public func swipe(_ direction: SwipeResultDirection, force: Bool = false)
 { 
//..
}

所以我想将滑动动作发送到视图,示例:

mainView.sendActions(for: .swipeLeft)

我该怎么办?感谢您的建议。

example

中有代码
kolodaView.swipe(.left)
kolodaView.swipe(.right)

你的代码会像这样

@objc func sendSwipeRightAction() {
        mainView.swipe(.right)
    }