UIPanGestureRecognizer使用小结(3)

来源:未知 责任编辑:责任编辑 发表时间:2014-02-18 03:21 点击:

p>        NSLog(@"pan gesture testPanView begin  is %@,%@", NSStringFromCGPoint([recognizer view].center), NSStringFromCGRect([recognizer view].frame));

p>    }

p> 

p>    if ([(UIPanGestureRecognizer *)recognizer state] == UIGestureRecognizerStateChanged) {

p>        CGFloat x = firstX + translatedPoint.x;

p>        CGFloat y = firstX + translatedPoint.y;

p> 

p>        if (x < recognizer.view.width / 2.0) {

p>            x = recognizer.view.width / 2.0;

p>        } else if (x + recognizer.view.width / 2.0 > self.view.width) {

p>            x = self.view.width - recognizer.view.width / 2.0;

p>        }

p> 

p>        if (y < recognizer.view.height / 2.0) {

p>            y = recognizer.view.height / 2.0;

p>        } else if (y + recognizer.view.height / 2.0 > self.view.height) {

p>            y = self.view.height - recognizer.view.height / 2.0;

p>        }

p> 

p>        NSLog(@"gesture translatedPoint moving  is %@", NSStringFromCGPoint(translatedPoint));

p> 

p>        recognizer.view.center = CGPointMake(x, y);

p>    }

p> 

p>    if (([(UIPanGestureRecognizer *)recognizer state] == UIGestureRecognizerStateEnded) || ([(UIPanGestureRecognizer *)recognizer state] == UIGestureRecognizerStateCancelled)) {

p>        CGFloat x = recognizer.view.center.x;

p>        CGFloat y = recognizer.view.center.y;

p> 

p>        if (x > firstX) {

p>            x = self.view.width - recognizer.view.width / 2.0;

p>        } else {

p>            x = recognizer.view.width / 2.0;

p>        }

p> 

p>        if (y > firstY) {

p>            y = self.view.height - recognizer.view.height / 2.0;

p>        } else {

p>            y = recognizer.view.height / 2.0;

p>        }

p> 

p>        CGFloat velocityX = (0.2 *[recognizer velocityInView:self.view].x);

p> 

p>        [UIView beginAnimations:nil context:NULL];

p> 

p>        [UIView setAnimationDuration:ABS(velocityX * 0.00002 + 0.2)];

p> 

p>        [UIView setAnimationCurve:UIViewAnimationCurveEaseOut];

p> 

p>        recognizer.view.center = CGPointMake(x, y);
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Lexical or Preprocessor Issue 'xxx.h
  • ios学习笔记(二)xcode 4.3.2下实现基本交互
  • ios版本的helloworld
  • iphone(object-c) 内存管理(3) 有效的内存管理 前半部分
  • ios学习笔记(一)xcode 4.3.2下创建第一个ios项目
  • IOS类似iphone通讯录TableView的完整demo【附源码】
  • UITableView一些方法
  • [iPhone中级]iPhone团购信息客户端的开发 (二)
  • iphone(object-c)内存管理(1)
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1