2010-08-26 16 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