如何使用 UIKeyboardImpl.isInHardwareKeyboardMode

Posted

技术标签:

【中文标题】如何使用 UIKeyboardImpl.isInHardwareKeyboardMode【英文标题】:How to use UIKeyboardImpl.isInHardwareKeyboardMode 【发布时间】:2017-07-19 15:21:54 【问题描述】:

我想检测闪电端口是否连接了外接键盘。我已经阅读了关于听软键盘keyboardDidHide/Show 的其他答案,但这不是我想要做的。我想知道如何使用这个私有 API..

我在 GitHub https://github.com/nst/ios-Runtime-Headers/tree/master/Frameworks/UIKit.framework 上找到了这个,但是当我尝试复制 UIKeyboardImpl 类时,我遇到了一堆编译错误。 关于如何导入此类以便我可以使用它的任何建议?谢谢。

【问题讨论】:

使用私有 API 是个坏主意,因为它会让您的应用被 AppStore 拒绝 了解,我没有提交给商店,所以我不在乎。我只是想知道这是如何工作的。 【参考方案1】:

试试这个代码:https://gist.github.com/myell0w/d8dfabde43f8da543f9c

由于它使用 objc_msgSend 来与私有类进行交互,因此您无需处理任何私有头文件。

只需将其添加到文件顶部即可使其正常工作:

#import <objc/message.h>

【讨论】:

以上是关于如何使用 UIKeyboardImpl.isInHardwareKeyboardMode的主要内容,如果未能解决你的问题,请参考以下文章

如何使用本机反应创建登录以及如何验证会话

如何在自动布局中使用约束标识符以及如何使用标识符更改约束? [迅速]

如何使用 AngularJS 的 ng-model 创建一个数组以及如何使用 jquery 提交?

如何使用laravel保存所有行数据每个行名或相等

如何使用 Math.Net 连接矩阵。如何使用 Math.Net 调用特定的行或列?

WSARecv 如何使用 lpOverlapped?如何手动发出事件信号?