是否可以使用纯C在iPhone上捕捉触摸事件?

Adr*_*ski 1 c iphone cocoa-touch objective-c

在iPhone应用程序中,您可以通过UIEvent及其相关的UITouch实例集捕获触摸事件,但这发生在Objective-C级别.我正在寻找的是一种在较低级别获取此信息的方法,使用C代码(不涉及Objective-C),特别是我正在考虑Core Foundation数据结构,类似于CFStringRef(和其他不透明的方式)数据结构)被桥接到NSString中.

是否有"CFTouchRef"结构?有谁知道这是否可以通过其他功能或结构?谢谢你的任何提示.

bbu*_*bum 5

不,你不能这样做.鉴于Objective-C是C的超集,但是创建一个简单的类来实现您需要的"捕获触摸"机制然后将触摸转发到您想要的任何C API上是微不足道的.

这是我在搜索有关此信息后得到的结论.但不知何故,我不禁想知道Objective-C运行时从哪里"接收"来获取信息,因此我的好奇心.谢谢!

是的 - UIKit会谈到设备上的基础事件机制.由于这些机制不是公共API的一部分,因此它们不是为您的应用程序设计或打算直接使用的.

使用填充程序类机制.如果有一些特殊原因导致您发现不可行,请发布详细信息,我相信有人可以提供帮助.