Skip to content

Commit

Permalink
Merge branch 'release/4.0.2'
Browse files Browse the repository at this point in the history
  • Loading branch information
Steve Kim committed Aug 2, 2024
2 parents e52ee6f + 702a2f8 commit 8d46f87
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 4 deletions.
2 changes: 1 addition & 1 deletion AnimatedTransitionKit.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

Pod::Spec.new do |s|
s.name = "AnimatedTransitionKit"
s.version = "4.0.1"
s.version = "4.0.2"
s.summary = "UIViewController Transitioning Library."
s.description = "This library helps you to apply and create Custom UIViewController Transitions."
s.homepage = "https://github.com/pisces/AnimatedTransitionKit"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,10 @@ - (id)init {
- (void)cancelInteractiveTransition {
[super cancelInteractiveTransition];

if (!self.transition.transitioning.context) {
return;
}

if ([_delegate respondsToSelector:@selector(willCancelWithInteractor:)]) {
[_delegate willCancelWithInteractor:self];
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -186,26 +186,30 @@ - (void)panned:(UIPanGestureRecognizer *)panGestureRecognizer {
}

const CGSize screenSize = UIScreen.mainScreen.bounds.size;
const BOOL isStartPanningDirectionVertical = PanningDirectionIsVertical(self.startPanningDirection);
CGFloat translationValue;
CGFloat targetSize;
CGFloat velocityValue;
switch (self.direction) {
case InteractiveTransitionDirectionVertical:
translationValue = self.translation.y;
targetSize = screenSize.height;
velocityValue = self.velocity.y;
break;
case InteractiveTransitionDirectionHorizontal:
translationValue = self.translation.x;
targetSize = screenSize.width;
velocityValue = self.velocity.x;
break;
case InteractiveTransitionDirectionAll:
translationValue = self.translation.x + self.translation.y;
targetSize = screenSize.width + screenSize.height;
translationValue = isStartPanningDirectionVertical ? self.translation.y : self.translation.x;
targetSize = isStartPanningDirectionVertical ? screenSize.height : screenSize.width;
velocityValue = isStartPanningDirectionVertical ? self.velocity.y : self.velocity.x;
break;
}

const BOOL isAppearing = [self.transition isAppearing:self];
const CGFloat fixedTranslationValue = translationValue - self.translationOffset;
const CGFloat velocityValue = self.isVertical ? self.velocity.y : self.velocity.x;
const CGFloat interactionDistance = targetSize * (isAppearing ? -1 : 1);
const CGFloat percent = fmin(fmax(-1, fixedTranslationValue / interactionDistance), 1);
const CGFloat multiply = MAX(1, ABS(velocityValue / 300));
Expand Down

0 comments on commit 8d46f87

Please sign in to comment.