IOS设备滑动事件
只要手指触摸屏幕,滑动,从屏幕离开,系统都会产生UIEvent对象类型的事件---当然包括UITouch事件 – touchesBegan:withEvent: 当用户触摸到屏幕时调用方法 – touchesMoved:withEvent: 当用户触摸到屏幕并移动时调用此方法 – touchesEnded:withEvent: 当触摸离开屏幕时调用此方法
– touchesCancelled:withEvent: 当触摸被取消时调用此方法
例子如下:
- //滑动开始事件
- - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
- {
- UITouch *touch = [touches anyObject];
- CGPoint pointone = [touch locationInView:self.view];//获得初始的接触点
- self.startPoint = pointone;
- }
- //滑动移动事件
- - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
- {
- UITouch *touch = [touches anyObject];
- //imgViewTop是滑动后最后接触的View
- CGPoint pointtwo = [touch locationInView:imgViewTop]; //获得滑动后最后接触屏幕的点
- if(fabs(pointtwo.x-startPoint.x)>100)
- { //判断两点间的距离
- bMove = YES;
- }
- }
- //滑动结束处理事件
- -(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
- {
- UITouch *touch = [touches anyObject];
- CGPoint pointtwo = [touch locationInView:self.view]; //获得滑动后最后接触屏幕的点
- if((fabs(pointtwo.x-startPoint.x)>50)&&(bMove))
- {
- //判断点的位置关系 左滑动
- if(pointtwo.x-startPoint.x>0)
- { //左滑动业务处理
- if (clicks>0) {
- clicks--;
- if ([wyKPI.sortZbs count]>1) {
- [btnRight setEnabled:YES];
- if(clicks==0)
- {
- [btnLeft setEnabled:NO];
- [btnRight setEnabled:YES];
- }
- [labTitle setText:[wyKPI.sortZbs objectAtIndex:(NSUInteger)clicks]];
- [labTitle setFont:[UIFont systemFontOfSize:14.0f]];
- [tabWyKPI reloadData];
- }
- }
- }
- //判断点的位置关系 右滑动
- else
- { //右滑动业务处理
- if (clicks<[wyKPI.sortZbs count]-1) {
- clicks++;
- if ([wyKPI.sortZbs count]>1) {
- [btnLeft setEnabled:YES];
- if(clicks==[wyKPI.sortZbs count]-1)
- {
- [btnLeft setEnabled:YES];
- [btnRight setEnabled:NO];
- }
- [labTitle setText:[wyKPI.sortZbs objectAtIndex:clicks]];
- [labTitle setFont:[UIFont systemFontOfSize:14.0f]];
- [tabWyKPI reloadData];
- }
- }
- }
- }
- }
//滑动开始事件
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
CGPoint pointone = [touch locationInView:self.view];//获得初始的接触点
self.startPoint = pointone;
}
//滑动移动事件
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
//imgViewTop是滑动后最后接触的View
CGPoint pointtwo = [touch locationInView:imgViewTop]; //获得滑动后最后接触屏幕的点 if(fabs(pointtwo.x-startPoint.x)>100)
{ //判断两点间的距离
bMove = YES;
}
}
//滑动结束处理事件
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
CGPoint pointtwo = [touch locationInView:self.view]; //获得滑动后最后接触屏幕的点
if((fabs(pointtwo.x-startPoint.x)>50)&&(bMove))
{
//判断点的位置关系 左滑动
if(pointtwo.x-startPoint.x>0)
{ //左滑动业务处理
if (clicks>0) {
clicks--;
if ([wyKPI.sortZbs count]>1) {
[btnRight setEnabled:YES];
if(clicks==0)
{
[btnLeft setEnabled:NO];
[btnRight setEnabled:YES];
}
[labTitle setText:[wyKPI.sortZbs objectAtIndex:(NSUInteger)clicks]];
[labTitle setFont:[UIFont systemFontOfSize:14.0f]];
[tabWyKPI reloadData];
}
}
}
//判断点的位置关系 右滑动
else
{ //右滑动业务处理
if (clicks<[wyKPI.sortZbs count]-1) {
clicks++;
if ([wyKPI.sortZbs count]>1) {
[btnLeft setEnabled:YES];
if(clicks==[wyKPI.sortZbs count]-1)
{
[btnLeft setEnabled:YES];
[btnRight setEnabled:NO];
}
[labTitle setText:[wyKPI.sortZbs objectAtIndex:clicks]];
[labTitle setFont:[UIFont systemFontOfSize:14.0f]];
[tabWyKPI reloadData];
}
}
}
}
}
IOS设备滑动事件的更多相关文章
- 关于overflow-y:scroll ios设备不流畅的问题
最近做双创项目的时候因为页面有很多数据显示,所以打算让它Y轴方向滚动条的形式展现,但在测试阶段发现IOS设备滑动效果非常不理想: search by google之后找到解决办法: -webkit-o ...
- 移动端ios上下滑动翻页事件失效
移动端开发过程中,在添加上下滑动事件时候,引入了最常用的移动端库zepto.js及其touch模块,有一种现象,安卓的手机没有问题,上下滑动翻页很正常 :但是到了ios上面,好啊,上下滑动会出现弹性滚 ...
- 移动设备、手机浏览器Javascript滑动事件代码
以下经过本人测试成功. 测试平台:三星S5830I 操作系统:Android 2.3.6 浏览器:UC浏览器 HTML标准:HTML5 测试了三个事件:touchstart.touchmove 和 t ...
- JS移动客户端--触屏滑动事件 banner图效果
JS移动客户端--触屏滑动事件 移动端触屏滑动的效果其实就是图片轮播,在PC的页面上很好实现,绑定click和mouseover等事件来完成.但是在移动设备上,要实现这种轮播的效果,就需要用到核心的t ...
- iOS新加速计事件(陀螺仪和加速计)
iOS新加速计事件 [iOS新加速计事件] 1.iOS5.0以前,可以使用UIAcceleration来监听加速计事件. 2.Bug iOS5.0以后,UIAccelerometerDelegate已 ...
- windows phone和android,ios的touch事件兼容
1.开发背景 最近用html5写了个小游戏,中间踩过无数坑,有很多甚至百度都百度不到答案,可见html5还真是不成熟,兼容性的复杂度比ie6有过之而无不及,性能那个渣简直无力吐槽.. 好了,吐槽结束, ...
- iPhone(iOS设备) 无法更新或恢复时, 如何进入恢复模式
在更新或恢复 iPhone 时,如果遇到以下所列问题之一.可能就要将设备置于恢复模式,并尝试重新恢复设备. 设备不断地重新启动,但从未显示主屏幕. 无法完成更新或恢复,且 iTunes 不再能识别设 ...
- ios多手势事件
开发ios应用时我们经常用到多手势来处理事情,如给scrollView增加点击事件,scrollView不能响应view的touch事件,但有时候却要用到多手势事件,那么我们可以给这个scrollVi ...
- Android 实现 IOS相机滑动控件
IOS相比于Android,动画效果是一方面优势,IOS相机切换时滑动的动画很不错,看着是有一个3D的效果,而且变化感觉很自然.Android也可以通过Graphics下面的Camera可以实现3D ...
随机推荐
- [改善Java代码]推荐覆写toString方法
建议49: 推荐覆写toString方法 为什么要覆写toString方法,这个问题很简单,因为Java提供的默认toString方法不友好,打印出来看不懂,不覆写不行,看这样一段代码: public ...
- 关于Eclipse中校验输入文件名的源代码
Eclipse中测试文件名的方法. 也没有单独的分操作系统.在Talend时解决一个在文本框中输入名字有Bug的一个问题,这个是Eclipse中解决输入名字,对名字校验的部分源码. public IS ...
- 快速启动软件之 Rolan ,你真的会用?
2015.2.14 很高兴 Rolan 这个软件至今还在更新,并且愈发完善,UI 的设计和功能上的改进都给了我不小的震撼. 如今的 Rolan ,可以对比一下 2014 年的图,变化真的很大有木有: ...
- 细说JavaScript单线程的一些事
标签: JavaScript 单线程 首发地址:码农网<细说JavaScript单线程的一些事> 最近被同学问道 JavaScript 单线程的一些事,我竟回答不上.好吧,感觉自己的 Ja ...
- JMS - ExceptionListener
If a JMS provider detects a problem with a connection, it will inform the connection’s ExceptionList ...
- compress 表设置及索引设置
-- 查看表大小 from user_segments where segment_name='TableName'; -- 查看表大小 size_m -- 2000.6796875 2211.695 ...
- 第二十八篇、自定义的UITableViewCell上有图片需要显示,要求网络网络状态为WiFi时,显示图片高清图;网络状态为蜂窝移动网络时,显示图片缩略图
1)SDWebImage会自动帮助开发者缓存图片(包括内存缓存,沙盒缓存),所以我们需要设置用户在WiFi环境下下载的高清图,下次在蜂窝网络状态下打开应用也应显示高清图,而不是去下载缩略图. 2)许多 ...
- 判断IFeatureClass图形是否含有Z值信息,若有为IPoint赋Z值
判断IFeatureClass图形是否含有Z值信息 IFeatureClass featureClass = this.pLayer.FeatureClass; string shapeFieldNa ...
- C++通过域名获取IP地址的方法;调试通过!
BOOL GetIpByDomainName(][],int *nCount) { WSADATA wsaData; ]; HOSTENT *pHostEnt; ; struct sockaddr_i ...
- 【Linux】rsync同步文件 & 程序自启动
rsync使用 1. 为什么使用rsync? rsync解决linux系统下文件同步时, 增量同步问题. 使用场景: 线上需要定时备份数据文件(视频资源), 使用rsync完成每天的增量备份. 参见: ...