我想要一个定时器来重置每次用户在我的应用程序中触摸屏幕(所以我知道用户仍在使用该设备)。我在ViewController中实现了touchBegan。捕获UIView中的所有触摸事件?
问题是如果我有我的ViewController中的UITableView和用户触及UITableView的功能touchBegan永远不会被调用。原因是tableView不会传递触摸事件。
我明白你可以将UITableView的子类传递给它的超级视图,或者在顶部添加一个透明的UIView,它只捕获触摸事件并传递它们。子类化的问题是我需要在捕获触摸事件的所有类上执行此操作。
有没有更好的解决方案?如果不是,你如何将事件传递给它的超级视图?
它实际上像我想要的那样工作,问题是我似乎找不到检测它是否触摸的方法。 Atm如果我在滚动视图中滚动wakeUp被称为20-30次。 – David 2011-04-25 12:16:41
回答我自己的问题:UITouch * touch = [event allTouches] .anyObject; if(touch.phase == UITouchPhaseBegan){ – David 2011-04-25 16:43:00
这不再适用于我在iOS7中。请参阅下面的答案,了解我是如何运作的。 – 2014-01-30 23:58:37