【问题标题】:Gesture Recognition on iOS devicesiOS 设备上的手势识别
【发布时间】:2013-01-22 17:16:18
【问题描述】:

我正在研究 iOS 设备上的手势识别。 http://developer.apple.com/library/ios/#documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/MultitouchEvents/MultitouchEvents.html 的官方文档有助于理解手势识别是如何工作的,并且可以合并到应用程序中。我的问题是如何在任何地方识别手势,例如通过在后台运行的应用程序在主屏幕或任何其他应用程序中。我对涉及私有 API 的解决方案持开放态度。在这种情况下,GraphicsServices 框架是否相关?例如,cydia 商店中的显示记录器应用程序能够做到这一点。

另一种可能的方法是使用手势识别设备,例如 Windows 的 kinect 或 Mac 的 Leap。

请发表您的建议。谢谢。

【问题讨论】:

    标签: iphone ios uigesturerecognizer gesture-recognition iphone-privateapi


    【解决方案1】:

    我猜你是在寻求一种“全局手势”的方法,我认为你可以通过将手势识别器附加到窗口或主 ViewController 来实现,这对于实现用户从从左到右,你想显示一个隐藏的菜单(就像在 facebook 应用程序中一样)

    如果不越狱,我认为将 iPhone/iPad 连接到其他手势设备(例如 Kinect 或 Leap)需要编写大量代码,首先您需要为界面编写代码,以便与 Kinect 通信,假设您找到了一种方法或创建了一种将 kinect 插入 iOS 设备的方法,那么您需要编写代码来捕获 Kinect 提供的输入,最后手动“识别”手势。如果微软为此提供任何 SDK 会更容易。

    对于 Leap,这是一个类似的方法,但是他们有一个适用于 OS X 的 SDK,可能可以移植到 iOS

    希望这能让您有所了解。

    【讨论】:

    • 感谢您的回复。是的,我指的是“全局手势”,但是如果您的应用程序移到后台,手势识别仍然有效吗?具体用例是:应用程序(例如,屏幕捕获应用程序,如显示记录器)移动到后台,它应该能够识别显示器或当前活动的任何其他应用程序中的手势。
    • 应用程序之外的全局手势是不可能的,因为我认为 SDK 不允许应用程序在其执行的主线程之外执行操作,所以如果应用程序在后台它不允许继续识别手势,应用程序之外的那种全局手势属于操作系统,Cydia 调整和应用程序将附加进程注册到操作系统,以便它们可以捕获这些全局手势,例如 sbsettings 使用的激活器跨度>
    • 没错。因此,我想探索 cydia 应用程序是如何做到这一点的,即将进程附加到操作系统并能够全局识别手势。有什么好的起点吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-05
    相关资源
    最近更新 更多