【发布时间】:2018-08-01 06:56:42
【问题描述】:
注意:这是一个与此处提出的问题类似的问题,但 答案是在我的情况下没有完全解决方案。问题是 目标也不一样。参考: touchesBegan - Only needs the last touch action - iPhone
我正在尝试处理UIView 中的多次触摸。我需要按顺序获得确切的触摸位置。
目前,我正在附加这样的选择器:
[myView addTarget:self action:@selector(touchBegan:withEvent:) forControlEvents: UIControlEventTouchDown];
这是我的处理程序,
- (void)touchBegan:(UIButton *)c withEvent:ev {
UITouch *touch = [[ev allTouches] anyObject];
这里的问题是[ev allTouches] 返回一个无序的NSSet,所以在多次触摸的情况下我无法获得触摸事件的确切最后位置。
有没有办法在处理多次触摸的情况下获得最后一个位置?
【问题讨论】:
-
您到底想达到什么目的?您是否需要像绘图应用程序那样持续监控触摸?或者它只是一个触摸,你想知道确切的触摸点?
-
@SandeepBhandari 我不需要持续监控触摸位置,但我需要使用最后一次触摸的
CGPoints 检测所有触摸,并且必须支持多次触摸。 -
试试我在下面发布的答案
标签: ios objective-c uiview uievent