我没有 iPhone,也不想每月支付 130 美元购买手机。 (我大部分时间都把它留在车里,有时甚至整个周末。)但我渴望将这项技术作为移动计算平台。 (残酷的命运。)我最喜欢它的事情之一是多点触控功能。
从 API 的角度来看它怎么样? 操作系统是否具有它知道的“手势”并根据用户的操作传递事件,或者应用程序是否需要解释“触摸和释放”事件列表? 能读多少分? 2、3...无限? 如果您有“多点触控”功能的显示器,Mac OS X 本身是否具有此功能?
您可以随时查看文档以更好地了解支持的内容,但实现的一般方法是:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event;
当您按下时,touchesBegan 会被调用,并包含刚刚开始的一组触摸。要检索当前屏幕上的所有触摸,请检索
event.allTouches
。
当手指移动或从屏幕上移开时,也会发生类似的明显动作。
touchesCancelled
方法主要用于支持 UIScrollView
,它允许您点击滚动视图内的某些内容,然后拖动滚动视图本身而不是与子视图交互,如果满足某些条件(滚动视图将发送当子视图开始滚动时,将取消的消息触摸到子视图)。
没有您可以观察到的内置手势,但系统可以处理内置手势,例如在表格中的一行上滑动以将其删除,以及在
UIScrollView
上进行捏缩放。