- 浏览: 270375 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
-
jimode2013:
thanks
UIPanGestureRecognizer学习笔记 -
白色蜻蜓:
- (void) loadView { //opaquevie ...
UIWebView中使用UIActivityIndicatorView
好久没来写笔记了,原因很简单,最近一直坐java网站,没顾上学IOS(偷懒没学..)
废话少说 开始笔记
UIGestureRecognizer是一个定义基本手势的抽象类,具体什么手势,在以下子类中包含:
1、拍击UITapGestureRecognizer (任意次数的拍击)
2、向里或向外捏UIPinchGestureRecognizer (用于缩放)
3、摇动或者拖拽UIPanGestureRecognizer (拖动)
4、擦碰UISwipeGestureRecognizer (以任意方向)
5、旋转UIRotationGestureRecognizer (手指朝相反方向移动)
6、长按UILongPressGestureRecognizer (长按)
今天一同学问到UIPanGestureRecognizer类中translationInView方法和velocityInView方法有什么区别,因为我也好久没看IOS,一丢下就很难拾起,故今天研究下这个问题
UIPanGestureRecognizer主要用于拖动,比如桌面上有一张图片uiimageview,你想让它由原始位置拖到任何一个位置,就是图片跟着你的手指走动,那么就需要用到该类了。
以下代码表示给一个图片视图指定一个UIPanGestureRecognizer手势当该图片捕获到用户的拖动手势时会调用回调函数handlePan
UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePan:)]; [self.imgView setUserInteractionEnabled:YES]; [self.imgView addGestureRecognizer:pan]; [pan release];
handlePan函数代码如下:
- (void) handlePan: (UIPanGestureRecognizer *)rec{ NSLog(@"xxoo---xxoo---xxoo"); CGPoint point = [rec translationInView:self.view]; NSLog(@"%f,%f",point.x,point.y); rec.view.center = CGPointMake(rec.view.center.x + point.x, rec.view.center.y + point.y); [rec setTranslation:CGPointMake(0, 0) inView:self.view]; }
以下为本人自己的理解,有不到之处请看官务必指教12
- (CGPoint)translationInView:(UIView *)view方法的API解释如下:
The translation of the pan gesture in the coordinate system of the specified view.
Return Value
A point identifying the new location of a view in the coordinate system of its designated superview.
字面理解是:
在指定的视图坐标系统中转换(拖动?) pan gesture
返回参数:返回一个明确的新的坐标位置,在指定的父视图坐标系统中
简单的理解就是
该方法返回在横坐标上、纵坐标上拖动了多少像素
因为拖动起来一直是在递增,所以每次都要用setTranslation:方法制0这样才不至于不受控制般滑动出视图
- (CGPoint)velocityInView:(UIView *)view方法的API解释如下:
The velocity of the pan gesture in the coordinate system of the specified view.
Return Value
The velocity of the pan gesture, which is expressed in points per second. The velocity is broken into horizontal and vertical components.
字面理解:
在指定坐标系统中pan gesture拖动的速度
返回参数:返回这种速度
简单的理解就是
你拖动这个图片的时候肯定有个速度,因此返回值就是你拖动时X和Y轴上的速度,速度是矢量,有方向。
参考资料
http://www.cnblogs.com/andyque/archive/2011/12/30/2307060.html
发表评论
-
EXC_BAD_ACCESS
2013-06-21 17:59 994EXC_BAD_ACCESS 这个错误,可以这么说,90%的 ... -
NSAssert
2013-06-08 09:55 1009You can use NSAssert() to deb ... -
UIWebView中的图片用本地document目录中的
2013-04-28 14:34 0-(void)webViewDidStartLoad:(UI ... -
如何点击链接直接跳转到app store指定应用下载页面
2013-03-21 14:42 2843跳转到应用下载页面: NSString *str = [ ... -
ios面试题收集一(附基本答案)
2013-03-20 11:40 1500此份面试题包含40个题目,是现在网上能搜索到的一个比较热的一 ... -
IOS5.1.1完美越狱XCODE测试出现10004003的问题
2013-03-15 11:23 1158我的APP已经上线了,但是公司有几个越狱后IOS5.1.1 ... -
MKLocalSearch用法
2013-03-08 15:21 6857原文出处:http://phpadvocate.com/bl ... -
NSString-NSDate类型转换和CustomBar的总结
2012-12-21 09:53 1363如何将一个字符串@"2012-12-21" ... -
ios判断本地文件是否存在
2012-12-17 17:36 1235NSString *path = [[NSBundle ... -
UIWebView响应单机事件
2012-12-14 11:40 1178在UIViewController中,加入协议UIGes ... -
APP适配iphone5 and ihpone4
2012-12-09 13:22 2043首先加入Default-568@2x.png得开机图片 CG ... -
百度地图API(1)
2012-12-04 14:25 2472问题 2012-10-26 11:37:05. ... -
iOS常用控件尺寸大集合
2012-11-28 16:36 1850元素控件 尺寸(pts) Window(含状态栏) 320 x ... -
发送邮件---iphone开发
2012-09-27 14:00 13941、导入MessageUI.framework包 2、引入头 ... -
nsarray倒序排序
2012-09-24 16:28 2391NSSortDescriptor *descripto ... -
UITextField限制输入类型
2012-09-05 17:37 7329限制只能输入特定的字 ... -
怎么把椭圆的UISearchBar改成圆角矩形?
2012-08-29 13:03 4646for (UIView *subview in sel ... -
uitableview出现重叠的处理办法
2012-08-24 10:45 790for (UIView *subview in ... -
XIB那点问题
2012-08-09 10:49 9931、运行错误: this class is not key ... -
下拉加载(刷新)下一页效果
2012-07-19 09:26 34181、导入EGO框架,即附件中的EGO.ZIP中的两个类文件,以 ...
相关推荐
python学习资源
jfinal-undertow 用于开发、部署由 jfinal 开发的 web 项目
基于Andorid的音乐播放器项目设计(国外开源)实现源码,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。
python学习资源
python学习资源
python学习一些项目和资源
【毕业设计】java-springboot+vue家具销售平台实现源码(完整前后端+mysql+说明文档+LunW).zip
HTML+CSS+JavaScarip开发的前端网页源代码
python学习资源
【毕业设计】java-springboot-vue健身房信息管理系统源码(完整前后端+mysql+说明文档+LunW).zip
成绩管理系统C/Go。大学生期末小作业,指针实现,C语言版本(ANSI C)和Go语言版本
1_基于大数据的智能菜品个性化推荐与点餐系统的设计与实现.docx
【毕业设计】java-springboot-vue交流互动平台实现源码(完整前后端+mysql+说明文档+LunW).zip
内容概要:本文主要探讨了在高并发情况下如何设计并优化火车票秒杀系统,确保系统的高性能与稳定性。通过对比分析三种库存管理模式(下单减库存、支付减库存、预扣库存),强调了预扣库存结合本地缓存及远程Redis统一库存的优势,同时介绍了如何利用Nginx的加权轮询策略、MQ消息队列异步处理等方式降低系统压力,保障交易完整性和数据一致性,防止超卖现象。 适用人群:具有一定互联网应用开发经验的研发人员和技术管理人员。 使用场景及目标:适用于电商、票务等行业需要处理大量瞬时并发请求的业务场景。其目标在于通过合理的架构规划,实现在高峰期保持平台的稳定运行,保证用户体验的同时最大化销售额。 其他说明:文中提及的技术细节如Epoll I/O多路复用模型以及分布式系统中的容错措施等内容,对于深入理解大规模并发系统的构建有着重要指导意义。
基于 OpenCV 和 PyTorch 的深度车牌识别
【毕业设计-java】springboot-vue教学资料管理系统实现源码(完整前后端+mysql+说明文档+LunW).zip
此数据集包含有关出租车行程的详细信息,包括乘客人数、行程距离、付款类型、车费金额和行程时长。它可用于各种数据分析和机器学习应用程序,例如票价预测和乘车模式分析。
把代码放到Word中,通过开发工具——Visual Basic——插入模块,粘贴在里在,把在硅基流动中申请的API放到VBA代码中。在Word中,选择一个问题,运行这个DeepSeekV3的宏就可以实现在线问答
【毕业设计】java-springboot+vue机动车号牌管理系统实现源码(完整前后端+mysql+说明文档+LunW).zip
【毕业设计】java-springboot-vue交通管理在线服务系统的开发源码(完整前后端+mysql+说明文档+LunW).zip