1

可能是小问题,但我无法解决问题。目标平台是iOS6。

问题描述:我有一个视图控制器和一个滚动视图作为子视图。在滚动视图中,我有一个缩略图网格。当我尝试一次触摸多个缩略图时,所有缩略图都被激活。

尝试的解决方案:

self.view.multipleTouchEnabled = NO;
self.view.exclusiveTouch = YES; 

这并不能解决我的问题。有什么我想念的吗?

4

1 回答 1

0

这个问题的解决方案在于两个概念。(1) 使滚动视图同步处理触摸事件。

self.view.scrollview.multipleTouchEnabled = NO;
self.view.scrollview.exclusiveTouch = YES; 

现在这将避免竞争条件,但在处理第一次触摸后,将处理第二次触摸。

(2) 为了避免这种顺序处理触摸,我需要互斥以避免竞争条件。

  • 我在滚动视图和委托中使用了成员布尔标志。
  • 现在,一旦第一次触摸处理完毕,我就将标志设置为“是”。现在,当第二次触摸尝试得到处理时,我正在检查这个标志(如互斥)。
  • 我的情况是忽略第二次触摸事件,因为我正在通过第一次触摸导航到下一个视图控制器。您可以根据自己的需要进行处理。

希望这对其他面临此类问题的人有所帮助..

于 2014-01-22T06:40:23.560 回答