SwiftUI-CardStackView icon indicating copy to clipboard operation
SwiftUI-CardStackView copied to clipboard

Swipe left and right on button click

Open davy-devibharat opened this issue 5 years ago • 13 comments

Hi, Thanks for you help, How can I Swipe left and right on button click as when I click Like and Dislike button card should auto Swipe

Your response will be helpful to me

Thanks

davy-devibharat avatar Jun 19 '20 13:06 davy-devibharat

Hi @devorblackbeard,

I tried a few tricks - you can remove the current element from your array but the tricky part is to get proper animation. If you have a solution I'm glad to incorporate but for now it seems I need to change fundamentals to support this. Anyway, I'll keep this in mind for the next version.

Thanks for your input.

dadalar avatar Jul 07 '20 08:07 dadalar

+1, this would be great to have! I wonder if we can collaborate on this; if you have any pointers, I can try it out.

zkhalapyan avatar Aug 21 '20 01:08 zkhalapyan

The main issue is animating the card out of the screen programmatically. There is already a hard to notice problem where when you drag a card and lift off your finger, the card start animating but also goes behind other cards. This looks like an undefined behaviour and probably we should be using a custom transition/animation instead of the one we have in CardView.swift's removal transition (line 71).

dadalar avatar Sep 03 '20 15:09 dadalar

@dadalar this component is working very well for swipe but unfortunately not having a programmatic way to do it is a showstopper....

timothyerwin avatar Jan 16 '21 17:01 timothyerwin

Hi,

I spent quite a few hours on this and indeed the project needs a substantial rework in order to have a programmatic swipe.

I achieved this result :

Simulator Screen Recording - iPod touch (7th generation) - 2022-04-26 at 15 18 44

I even have an «unswipe» (undo) function.

Not sure @dadalar would want a PR on his repo given it's almost a rewrite. Yet you can have a look at my work in my rework branch in my fork.

nomadplanet avatar Apr 26 '22 13:04 nomadplanet

@nomadplanet How are you doing the undo?

Mcrich23 avatar Jun 14 '22 15:06 Mcrich23

Like I said, check out my rework branch in my fork, you'll have your answer :)

nomadplanet avatar Jun 14 '22 15:06 nomadplanet

I don't see your fork

Mcrich23 avatar Jun 14 '22 15:06 Mcrich23

I got it transferred to another account. Check out https://github.com/bruxless/SwiftUI-CardStackView

nomadplanet avatar Jun 15 '22 08:06 nomadplanet

@nomadplanet your changes work great! I did notice that the model.unswipe() function doesn't have a completion handler like the model.swipe() function does. Small issue, but I have to do a pretty cringe workaround to fix a bug due to this.

wellsfletcher avatar Oct 22 '22 17:10 wellsfletcher

Unswiping is not really different from swiping, I don't think it would be too hard to call the onSwipe() completion handler at some point

nomadplanet avatar Oct 24 '22 07:10 nomadplanet

anyone finding luck with this new fork, or making progress in other ways? thanks

aehlke avatar Apr 28 '23 17:04 aehlke