我想知道,如果有办法识别UITouch的每个位置。
在touchesMoved中跟随我的手指位置:
UITouch *touch = [touches anyObject];
CGPoint p = [touch locationInView:self];
我遇到问题,如果我快速移动手指,检测到“p”位置。它只是不会读取每一个X或Y位置,但会丢掉一些。
实施例: 我正在跟踪NSLog的触摸位置,如果我在iPad上快速移动手指,NSLog消息显示Y位置如:...... 281,301,322,346,375 ...
答案 0 :(得分:1)
这是框架的内部行为。您可以通过跟随线的斜率安全地假设中间点。我的意思是你的起始位置是(x1,y1),结束位置是(x2,y2)然后你可以找到所有中间点。
当您改变方向或路径时,您将获得touchesMoved中的新点。
答案 1 :(得分:0)
您可以使用手势来使用以下代码获取位置
UILongPressGestureRecognizer *gr = [[UILongPressGestureRecognizer alloc] init];
[gr addTarget:self action:@selector(userLongPressed:)];
[self.view addGestureRecognizer:gr];
然后在userLongPressed方法中:
CGPoint point = [recognizer locationInView:self.view];
NSLog点将为您提供所有位置......
如果您想了解更多信息,请告诉我。