2010-08-26 40 views
1

如何使用不限于特定视图的触摸事件?我想用这些事件为背景的应用程序,并发现我只能启用一个视图触摸事件通过使用预先setAcceptsTouchEvents:触摸事件,不限于特定视图

感谢, 菲利普

+0

你是什么意思的“背景应用程序”?您的应用程序是否应该在其他应用程序处于前台时收到触摸事件,或者用户正在查看主屏幕还是某个系统应用程序?如果是这样,这绝对不会工作... – Toastor 2010-08-26 11:50:43

+0

一个没有窗口的应用程序。 Toastor,你的意思是iOS版应用程序吗?我的意思是Mac OS X – Ph99Ph 2010-08-26 12:07:12

回答

1

你可以尝试重写应用程序的sendEvent:方法,但我怀疑这会起作用,因为它适用于您自己的应用程序中的事件。对于始终处于后台的应用程序,您将不会收到任何此类事件。

通常的解决方案是安装一个CGEventTap,但由于Quartz Event Services没有触摸,滑动等事件常量,我认为你不能这样做。

我能想到的唯一方法可能是通过I/O Kit的HID层;我不知道你需要做些什么才能使用它。

您可能应该在RadarWeb中提出增强请求,要求提供更高级别的解决方案(例如CGEventTap中的触摸事件支持)。

+0

好的,谢谢你的回答。但是在雪豹的中文手写输入中做得如何? – Ph99Ph 2010-08-27 13:48:29

+0

我不知道。 – 2010-08-27 16:10:23

+0

嗯。不管怎么说,还是要谢谢你。 – Ph99Ph 2010-08-27 19:43:14