您的位置:首页 > 其它

关于手势拖动图标移动图标(附带滑动效果)

2015-04-27 12:58 232 查看
- (void)handlePan:(UIPanGestureRecognizer *)recognizer

{

CGRect rx = [
UIScreen mainScreen ].bounds;

CGPoint translation = [recognizer
translationInView:self.view];

recognizer.view.center =
CGPointMake(recognizer.view.center.x + translation.x,

recognizer.view.center.y + translation.y);

[recognizer setTranslation:CGPointZero
inView:self.view];

if (recognizer.state ==
UIGestureRecognizerStateEnded) {

CGPoint velocity = [recognizer
velocityInView:backgroundScrollView];

CGFloat magnitude =
sqrtf((velocity.x * velocity.x) + (velocity.y * velocity.y));

CGFloat slideMult = magnitude /
200;

NSLog(@"magnitude: %f, slideMult: %f", magnitude, slideMult);

float slideFactor =
0.1 * slideMult; // Increase for more of a slide

CGPoint finalPoint =
CGPointMake(recognizer.view.center.x + (velocity.x * slideFactor),

recognizer.view.center.y + (velocity.y * slideFactor));

//x >
控件宽*1/2 && x < screen.size.width -
控件宽*1/2,y同理

finalPoint.x =
MIN(MAX(finalPoint.x,
10), rx.size.width -
10);

finalPoint.y =
MIN(MAX(finalPoint.y,
64 + 10), rx.size.height -
49 - 10);

[UIView
animateWithDuration:0.05*slideMult
delay:0
options:UIViewAnimationOptionCurveEaseOut
animations:^{

recognizer.view.center = finalPoint;

} completion:nil];

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐