diff --git a/KYCuteViewDemo/KYCuteView.m b/KYCuteViewDemo/KYCuteView.m index 5044c1f..c637c1d 100755 --- a/KYCuteViewDemo/KYCuteView.m +++ b/KYCuteViewDemo/KYCuteView.m @@ -59,21 +59,7 @@ - (id)initWithFrame:(CGRect)frame { } - (void)displayLinkAction { - x1 = backView.center.x; - y1 = backView.center.y; - x2 = self.frontView.center.x; - y2 = self.frontView.center.y; - - centerDistance = sqrtf((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1)); - if (centerDistance == 0) { - cosDigree = 1; - sinDigree = 0; - } else { - cosDigree = (y2 - y1) / centerDistance; - sinDigree = (x2 - x1) / centerDistance; - } - - r1 = oldBackViewFrame.size.width / 2 - centerDistance / self.viscosity; + [self countDistance]; pointA = CGPointMake(x1 - r1 * cosDigree, y1 + r1 * sinDigree); // A pointB = CGPointMake(x1 + r1 * cosDigree, y1 - r1 * sinDigree); // B @@ -158,6 +144,25 @@ - (void)setUp { [self.frontView addGestureRecognizer:pan]; } +- (void)countDistance +{ + x1 = backView.center.x; + y1 = backView.center.y; + x2 = self.frontView.center.x; + y2 = self.frontView.center.y; + + centerDistance = sqrtf((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1)); + if (centerDistance == 0) { + cosDigree = 1; + sinDigree = 0; + } else { + cosDigree = (y2 - y1) / centerDistance; + sinDigree = (x2 - x1) / centerDistance; + } + + r1 = oldBackViewFrame.size.width / 2 - centerDistance / self.viscosity; +} + - (void)handleDragGesture:(UIPanGestureRecognizer *)ges { CGPoint dragPoint = [ges locationInView:self.containerView]; @@ -197,6 +202,7 @@ - (void)handleDragGesture:(UIPanGestureRecognizer *)ges { [shapeLayer removeFromSuperlayer]; self.frontView.center = oldBackViewCenter; + [self countDistance]; [self AddAniamtionLikeGameCenterBubble]; } }];