如何在iOS中捕获所有触摸事件?

时间:2011-09-27 04:52:29

标签: objective-c ios

我想创建一个应用程序来捕获所有触摸事件并在工具栏中显示x,y值。

  1. 如果此应用程序中没有发生事件,是否可以捕获所有事件?
  2. 如何在工具栏中显示此应用,如电池图标(当应用在后台运行时)?

2 个答案:

答案 0 :(得分:4)

1)您可以在自己的应用程序运行时捕获触摸事件非常简单。一种方法是单个根视图控制器,实现

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event;

如果你真的对显示它们的坐标感兴趣,你还必须考虑像多点触控一样的问题。

然而,

其他应用无法做到这一点。 2)根本不可能。您无权访问状态栏,无论如何,当应用程序在后台时,您将无法执行捕获触摸事件等任何操作。您只能在应用程序位于前台时捕获事件。

答案 1 :(得分:2)

你的任何目标都不能在非越狱设备上完成(甚至可能不是根本设备),因为它违反了Application Sandbox的精神。