博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iPhone开发 多点触控的问题
阅读量:6496 次
发布时间:2019-06-24

本文共 1206 字,大约阅读时间需要 4 分钟。

hot3.png

虽然这个问题很简单,但是对于我这接触两天的菜鸟来说也弄了很久,网上又找不到相关的解决方法,避免其他人和我一样,还是记录一下

一般网上找到的教程是这么教:

 

-(void )touchesBegin:(NSSet *)touches withEvent:(UIEvent *)event

{ NSArray *twoTouches = [touches allObjects]; UITouch *firstTouch = [twoTouches objectAtIndex:0]; UITouch *secondTouch = [twoTouches objectAtIndex:1]; CGPoint point1 =[touch1 locationInView:[touch1 view]]; CGPoint point2 =[touch2 locationInView:[touch2 view]]; NSLog(@"point1:%@",NSStringFromCGPoint(point1)); NSLog(@"point2:%@",NSStringFromCGPoint(point2)); }

但是这里面首先NSArray这个累不知道能不能去NSSet这个类的东西

接着最主要的问题是touchesBegin这个方法在你第一只手指触碰就立即触发这方法。

所以你想去两个手指的话这肯定不行,虽然编译器不会报错,但是一碰就死机

其实只要改个方法就行,用touchesMoved

-(void )touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{    NSSet *allTouches = [event allTouches];    if(allTouches.count ==2)    {    UITouch *touch1 = [[allTouches allObjects] objectAtIndex:0];    UITouch *touch2 = [[allTouches allObjects] objectAtIndex:1];        CGPoint point1 =[touch1 locationInView:[touch1 view]];    CGPoint point2 =[touch2 locationInView:[touch2 view]];    NSLog(@"point1:%@",NSStringFromCGPoint(point1));    NSLog(@"point2:%@",NSStringFromCGPoint(point2));    }}

哈哈,在这里谢谢@彭博的指点~

转载于:https://my.oschina.net/u/262010/blog/183361

你可能感兴趣的文章
如何更快速加载你的JS页面
查看>>
解决oracle11g安装导致数据库无法自动搜集统计信息-转
查看>>
Unix_Linux系统定时器的应用(案例)
查看>>
[Java基础] Java如何实现条件编译
查看>>
【转】ubuntu 12.04 下 Vim 插件 YouCompleteMe 的安装
查看>>
设置网页标题图标
查看>>
mysql通过查看跟踪日志跟踪执行的sql语句
查看>>
Android_CodeWiki_01
查看>>
Web QQ 协议 登录加密算法 —— VC++实现
查看>>
Nutch 二次开发之parse正文内容
查看>>
代码储存
查看>>
微信公众平台对所有公众号开放自定义菜单
查看>>
Visual C++ 2012/2013的内存溢出检測工具
查看>>
ubuntu操作系统下载
查看>>
更改git bash默认的路径
查看>>
hdu 4452 Running Rabbits 模拟
查看>>
SQL Server 储存过程的output 参数
查看>>
IOS开发中多线程的使用
查看>>
xcode6 dyld_sim is not owned by root
查看>>
Big Event in HDU(杭电1171)(多重背包)和(母函数)两种解法
查看>>