我需要在我的应用程序中支持外部键盘功能,并且需要在应用程序中检测到Alt Tab Tab等关键组合才能触发某些事件.在 IOS 6中,我已经超越了
- (void)sendEvent:(UIEvent *)anEvent;

函数在UIApplication子类中获取外部键盘上的按键组合.

但现在我在IOS 7中测试我的应用程序,并且sendEvent似乎甚至没有被调用任何硬件键按下事件.

任何解决方案..?

解决方法

使用新的 UIKeyCommand类和 UIResponder链,iOS 7中的蓝牙键盘上有100%支持的键盘快捷键处理方式. I did blog about this,但这是要点:

在Responder链中的某处为keyCommands添加一个返回UIKeyCommand对象数组的方法:

- (NSArray *)keyCommands {
    UIKeyCommand *commandF = [UIKeyCommand keyCommandWithInput:@"f" modifierFlags:UIKeyModifierCommand action:@selector(handleCommandF:)];
    return @[commandF];
}

然后,当按下⌘F(在文本输入视图中)时,Responder链将查找该handleCommandF方法.如果有多个定义,它将使用最严格的定义(例如,View本身优先于ViewController).

请注意,这仅在输入(例如UITextField或UITextView)是第一响应者时才有效.如果你想在你的应用程序中使用“全局”快捷方式,你可以在屏幕上隐藏UITextField并专注于它.

IOS 7中的外部蓝牙键盘集成的更多相关文章

  1. IOS 7中的外部蓝牙键盘集成

    解决方法使用新的UIKeyCommand类和UIResponder链,iOS7中的蓝牙键盘上有100%支持的键盘快捷键处理方式.Ididblogaboutthis,但这是要点:在Responder链中的某处为keyCommands添加一个返回UIKeyCommand对象数组的方法:然后,当按下F时,Responder链将查找该handleCommandF方法.如果有多个定义,它将使用最严格的定义.请注意,这仅在输入是第一响应者时才有效.如果你想在你的应用程序中使用“全局”快捷方式,你可以在屏幕上隐藏UIT

  2. iOS蓝牙BLE安全性和“Just works”关联模型

    根据thisdocument和thiswhitepaper,有一些安全措施旨在防止被动窃听蓝牙BLE连接.有没有办法在iOS中央管理器和外围设备之间实现安全连接?

  3. 通过蓝牙HID加密狗将数据从ios设备发送到Windows PC

    >如果可以使用BLE4.0使用蓝牙到HID键盘仿真器加密狗,是否可以将支持BLE4.0的iOS设备与它配对?>有没有人尝试任何特定的HID键盘模拟器加密狗支持BLE4.0?

  4. ios – 如何使用iphone使用蓝牙或wifi与OBD II进行通信

    我想为iOS创建一个简单的应用程序,它通过ODBIIWifi/蓝牙设备从汽车读取数据并在iPhone屏幕上显示.但我不知道从哪里开始.请有人帮我实现以下结果.我有蓝牙和wifi加密狗.第1步:配对蓝牙或Wifi加密狗和iPhone.第2步:通过加密狗阅读详细信息请参阅我能够轻松理解的任何教程或示例代码.我想深入了解这些过程,并希望自己编写代码.所以请帮忙.提前致谢.解决方法正如David所说,在i

  5. iOS核心蓝牙状态保存和恢复问题

    我还在Apple开发者论坛上看了一篇文章,自从iOS7以来,如果用户手动杀死我正在做的应用程序,操作系统现在永远不会以任何理由重新启动应用程序.任何有关这方面的帮助将非常感谢!

  6. ios – Arduino和iPhone与蓝牙3.0的连接

    我想构建一个需要蓝牙连接的应用程序.蓝牙HC05模块连接到Arduino.我想知道构建可连接到此蓝牙模块的应用程序所需的框架.仍然不知道如何开始.有人可以帮忙吗?

  7. iOS BLE蓝牙 – 发送/接收HEX数据

    我正在创建一个应该连接到自定义BLE设备的iOS应用程序.我需要iOS应用程序发送2个HEX命令,一个用于启用设备的一部分,另一个用于请求数据.iOS中是否有任何方式发送/接收自定义HEX数据,除了使用服务&特点?

  8. 可以通过iOS中的蓝牙PAN与系留设备进行通信

    我有一个设备,我通过蓝牙从iOS设备分享我的连接.我想知道是否可以访问在PAN网络上的iPhone上创建服务器并从设备访问它或在设备上创建服务器并从iPhone访问它.有没有人有这种经历?

  9. ios – iPhone中的蓝牙编程

    我打算开发一个iPhone应用程序,使用蓝牙将文件/数据传输到Windows桌面或从我的Windows桌面传输.请告知我iPhoneSDK中是否有用于此目的的编程接口.在WindowsMobile中,我可以使用FTP配置文件或在串行端口配置文件上编写应用程序来传输文件.任何人都可以通过编写适当的应用程序告诉我,这是否可以通过iPhone实现.如果没有,请让我知道通过蓝牙从iPhone传输文件/数据到Windows桌面PC的替代方法.解决方法不,FTP或SPP蓝牙配置文件在iPhone中没有打开…

  10. 当蓝牙设备靠近时,唤醒ios应用程序

    还是可以任何新的外设唤醒应用程序?

随机推荐

  1. iOS实现拖拽View跟随手指浮动效果

    这篇文章主要为大家详细介绍了iOS实现拖拽View跟随手指浮动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  2. iOS – genstrings:无法连接到输出目录en.lproj

    使用我桌面上的项目文件夹,我启动终端输入:cd然后将我的项目文件夹拖到终端,它给了我路径.然后我将这行代码粘贴到终端中找.-name*.m|xargsgenstrings-oen.lproj我在终端中收到此错误消息:genstrings:无法连接到输出目录en.lproj它多次打印这行,然后说我的项目是一个目录的路径?没有.strings文件.对我做错了什么的想法?

  3. iOS 7 UIButtonBarItem图像没有色调

    如何确保按钮图标采用全局色调?解决方法只是想将其转换为根注释,以便为“回答”复选标记提供更好的上下文,并提供更好的格式.我能想出这个!

  4. ios – 在自定义相机层的AVFoundation中自动对焦和自动曝光

    为AVFoundation定制图层相机创建精确的自动对焦和曝光的最佳方法是什么?

  5. ios – Xcode找不到Alamofire,错误:没有这样的模块’Alamofire’

    我正在尝试按照github(https://github.com/Alamofire/Alamofire#cocoapods)指令将Alamofire包含在我的Swift项目中.我创建了一个新项目,导航到项目目录并运行此命令sudogeminstallcocoapods.然后我面临以下错误:搜索后我设法通过运行此命令安装cocoapodssudogeminstall-n/usr/local/bin

  6. ios – 在没有iPhone6s或更新的情况下测试ARKit

    我在决定下载Xcode9之前.我想玩新的框架–ARKit.我知道要用ARKit运行app我需要一个带有A9芯片或更新版本的设备.不幸的是我有一个较旧的.我的问题是已经下载了新Xcode的人.在我的情况下有可能运行ARKit应用程序吗?那个或其他任何模拟器?任何想法或我将不得不购买新设备?解决方法任何iOS11设备都可以使用ARKit,但是具有高质量AR体验的全球跟踪功能需要使用A9或更高版本处理器的设备.使用iOS11测试版更新您的设备是必要的.

  7. 将iOS应用移植到Android

    我们制作了一个具有2000个目标c类的退出大型iOS应用程序.我想知道有一个最佳实践指南将其移植到Android?此外,由于我们的应用程序大量使用UINavigation和UIView控制器,我想知道在Android上有类似的模型和实现.谢谢到目前为止,guenter解决方法老实说,我认为你正在计划的只是制作难以维护的糟糕代码.我意识到这听起来像很多工作,但从长远来看它会更容易,我只是将应用程序的概念“移植”到android并从头开始编写.

  8. ios – 在Swift中覆盖Objective C类方法

    我是Swift的初学者,我正在尝试在Swift项目中使用JSONModel.我想从JSONModel覆盖方法keyMapper,但我没有找到如何覆盖模型类中的Objective-C类方法.该方法的签名是:我怎样才能做到这一点?解决方法您可以像覆盖实例方法一样执行此操作,但使用class关键字除外:

  9. ios – 在WKWebView中获取链接URL

    我想在WKWebView中获取tapped链接的url.链接采用自定义格式,可触发应用中的某些操作.例如HTTP://我的网站/帮助#深层链接对讲.我这样使用KVO:这在第一次点击链接时效果很好.但是,如果我连续两次点击相同的链接,它将不报告链接点击.是否有解决方法来解决这个问题,以便我可以检测每个点击并获取链接?任何关于这个的指针都会很棒!解决方法像这样更改addobserver在observeValue函数中,您可以获得两个值

  10. ios – 在Swift的UIView中找到UILabel

    我正在尝试在我的UIViewControllers的超级视图中找到我的UILabels.这是我的代码:这是在Objective-C中推荐的方式,但是在Swift中我只得到UIViews和CALayer.我肯定在提供给这个方法的视图中有UILabel.我错过了什么?我的UIViewController中的调用:解决方法使用函数式编程概念可以更轻松地实现这一目标.

返回
顶部