连接蓝牙输入设备时显示软键盘(iPad)

时间:2010-11-11 01:36:26

标签: iphone objective-c cocoa-touch ipad uikeyboard

我真的很喜欢我的头脑,因为当连接到iPad的蓝牙输入设备时,我找不到显示软键盘的方法。我在网上搜索了一下,这就是结果:

Erica说,诀窍是回答系统“没有连接硬件键盘”。 我试图为UIKeyboardImpl写一个类别,但我覆盖了:

- (BOOL)isInHardwareKeyboardMode {
    DEBUG(@"is called");
    return NO;
}   

但直到现在我还没有得到任何东西。调用覆盖的方法,但没有软键盘。 Erica还说应用程序通过动态链接工作,但我不知道如何实现它。我不需要在AppStore中,因为这是一个私人应用程序,所以我不打扰拒绝。

提前致谢

2 个答案:

答案 0 :(得分:7)

确定。终于明白了。非常感谢大卫,马蒂亚斯和恩里科。以下是步骤:

  • 导入私有框架GraphicsServices
  • 在viewDidLoad中调用GSEventSetHardwareKeyboardAttached(NO)
  • 添加一个按钮,通过调用

    来切换键盘
    static void toggleKeyboard(UIKeyboardImpl * keyImpl){
    if (UIKeyboardAutomaticIsOnScreen()) {
        UIKeyboardOrderOutAutomatic();
    } else {
        UIKeyboardOrderInAutomatic();
    }
    

我在http://code.google.com/p/btstack/wiki/iPhoneKeyboardHiding找到了此功能 现在我可以同时从软键盘和蓝牙设​​备接收输入。

答案 1 :(得分:0)

要使用苹果键盘绕过它,请按弹出键。也许你可以实现一个发送弹出键码的动作?我认为iSSH有一个功能,即使连接了蓝牙键盘,您也可以点击屏幕上的键盘图标来显示它。