如何使用KolodaView Swift左右拖动卡片点击喜欢和不喜欢API
How to hit Like and dislike API on left and right drag of cards using KolodaView Swift
我正在使用 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()
}
}
}
在你的情况下,你可能会保留两个变量,以防有人改变主意变成不喜欢。此外,您可能希望在操作从喜欢更改为不喜欢时重新启动标志,反之亦然。
我正在使用 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()
}
}
}
在你的情况下,你可能会保留两个变量,以防有人改变主意变成不喜欢。此外,您可能希望在操作从喜欢更改为不喜欢时重新启动标志,反之亦然。