Coder Social home page Coder Social logo

mdc_swipe Issue about mdcswipetochoose HOT 4 CLOSED

acegreen avatar acegreen commented on June 30, 2024
mdc_swipe Issue

from mdcswipetochoose.

Comments (4)

acegreen avatar acegreen commented on June 30, 2024

I followed the trace when I select to swipe right, and direction is right all the way through, yet the actual swipe is then left.

from mdcswipetochoose.

acegreen avatar acegreen commented on June 30, 2024

One note: I create my views outside of the frame and animate them in like a shuffle effect. This might be causing my .originalCenter to be somewhere instead of where it should be.

from mdcswipetochoose.

acegreen avatar acegreen commented on June 30, 2024

Ah so after a little playing, it turns out it was indeed the originalCenter. No where is the original center set when you programmatically swipe. This is because the library assumes you either initially panned where the originalCenter gets set, or if not then, you manually swiped a view that didn't move form and therefore the originalCenter is still the same.

In my case, I was animating the news after creating them and the originalCenter was never off the screen. I added the following line

self.mdc_viewState.originalCenter = self.center;

to this function

- (void)mdc_swipe:(MDCSwipeDirection)direction {
    [self mdc_swipeToChooseSetupIfNecessary];

    // A swipe in no particular direction "finalizes" the swipe.
    if (direction == MDCSwipeDirectionNone) {
        [self mdc_finalizePosition];
        return;
    }

    // Moves the view to the minimum point exceeding the threshold.
    // Transforms and executes pan callbacks as well.
    self.mdc_viewState.originalCenter = self.center;
    void (^animations)(void) = ^{
        CGPoint translation = [self mdc_translationExceedingThreshold:self.mdc_options.threshold
                                                            direction:direction];
        self.center = MDCCGPointAdd(self.center, translation);
        [self mdc_rotateForTranslation:translation
                     rotationDirection:MDCRotationAwayFromCenter];
        [self mdc_executeOnPanBlockForTranslation:translation];
    };

    // Finalize upon completion of the animations.
    void (^completion)(BOOL) = ^(BOOL finished) {
        if (finished) { [self mdc_finalizePositionForDirection:direction]; }
    };

    [UIView animateWithDuration:self.mdc_options.swipeAnimationDuration
                          delay:0.0
                        options:self.mdc_options.swipeAnimationOptions
                     animations:animations
                     completion:completion];
}

from mdcswipetochoose.

acegreen avatar acegreen commented on June 30, 2024

Seems to be the same issue as #28. Was this commit removed?

from mdcswipetochoose.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.