如何使用KolodaView Swift在左右拖动卡片上点击喜欢和不喜欢API



我正在使用kolodaview进行类似卡片的swift视图。一切都很好,但我只能呆在一个地方。当用户向左或向右滑动卡片时,API点击为喜欢和不喜欢。对于这个左和右koloda给定的委托方法:

func koloda(_ koloda: KolodaView, draggedCardWithPercentage finishPercentage: CGFloat, in direction: SwipeResultDirection){
if direction == .left {
if finishPercentage == 100.0 {
apifordislike()
}
} else if direction == .right{
apiforlike()
}
}

它的工作但问题是,当交换finishPercentage==100.0并点击API,但用户缓慢滑动卡API点击不止一个,100.0重复。我只想要一支安打。

为什么不使用

func koloda(_ koloda: KolodaView, didSwipeCardAt index: Int, in direction: SwipeResultDirection) {

相反?

否则,保留状态信息,例如

var alreadyLiked: Bool = false
var alreadyDisliked: Bool = false

func koloda(_ koloda: KolodaView, draggedCardWithPercentage finishPercentage: CGFloat, in direction: SwipeResultDirection){
if direction == .left {
if finishPercentage == 100.0 {
if !alreadyDisliked {
alreadyDisliked = true
apifordislike()
}
}
} else if direction == .right{
if !alreadyLiked {
alreadyLiked = true
apiforlike()
}
}
}

在你的情况下,你可能会保留两个变量,以防有人改变主意,转而不喜欢。此外,当操作从喜欢更改为不喜欢时,您可能需要重新启动标志,反之亦然。

相关内容

  • 没有找到相关文章

最新更新