这是我的测试代码
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
gestureStartPoint = [touch locationInView:self.view];
NSLog(@"start (%f, %f)", gestureStartPoint.x, gestureStartPoint.y);
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
CGPoint currentPosition = [touch locationInView:self.view];
NSLog(@"move (%f, %f)", currentPosition.x, currentPosition.y);
}
从我的理解[触摸任何对象]将返回任何对象(触摸屏幕的任何手指),所以我在模拟器中通过选项+重复点击屏幕开始我的测试结果是我所期望的x,y点随机改变从一个到另一个。 我的问题是关于touchesMoved我用两根手指触摸(选项+点击)我开始拖动并期望x,y会像touchesBegan一样随机变化,但结果让我感到惊讶,x,y将是相同的(同一手指co - 或者)我是从touchesBegan那里得到的。
所以这种行为在某处有解释?
答案 0 :(得分:1)
- (id)anyObject
返回值
其中一个对象 集合,如果集合包含否则为nil 对象。返回的对象被选中 在集合的方便 - 选择 不保证是随机的。
我假设它们在内部按顺序保存(或根据坐标生成)并按顺序添加到集合中,并且方便集合按顺序将它们提供给您