我正在制作一个绘图应用程序,我想根据触摸速度增加我的画笔大小。
我将如何做到这一点?
是的。请参阅UIView
named上的方法touches*
,特别是:
- (void)touchesMoved:(NSSet*)touches withEvent:(UIEvent*)event
它在检测到移动(“滑动”?)时被调用,并且不会被多次快速触摸“愚弄”。可以获取当前手指位置在视图中的坐标以及事件发生的时间:
UITouch *touch = [touches anyObject];
CGPoint inFrameCoordinate = [touch locationInView:self];
NSTimeInterval timestamp = [touch timestamp]
获取两个坐标之间的距离和时间来计算速度。
好吧,UITouch具有位置和时间戳的属性;使用这些属性,您可以计算两个触摸事件之间的触摸“速度”。
当然,这只适用于单次触摸,您可能需要平滑结果。此外,用户可能能够通过交替用两根手指快速敲击来“愚弄”您;-)