Как отправить действие смахивания в UIView в Swift

Я пытаюсь клонировать Tinder, сделал свайп влево (не нравится человек) и вправо (нравится человек) Ялантисом / Колода (https://github.com/Yalantis/Koloda). У меня также есть два изображения для кнопки нравится / не нравится. Я хочу, чтобы мой mainView проводил пальцем влево / вправо, когда я касаюсь изображения "нравится / не нравится".

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)

Как мне поступить? Спасибо за ваше предложение.

1 ответ

Решение

В примере есть код

kolodaView.swipe(.left)
kolodaView.swipe(.right)

ваш код будет таким

@objc func sendSwipeRightAction() {
        mainView.swipe(.right)
    }
Другие вопросы по тегам