2010-11-11 163 views
2

我真的很难受,因为当连接到iPad的蓝牙输入设备时,我无法找到显示软键盘的方式。我做了网络上一些搜索,这是结果:当连接蓝牙输入设备时,显示软键盘(iPad)

埃里卡说诀窍是回答系统“没有硬件键盘连接”。 我试着写了UIKeyboardImpl类别和我overrided:

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

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

在此先感谢

回答

6

好的。终于明白了。非常感谢大卫,马提亚斯和恩里科。以下是具体步骤:

  • 进口专用框架GraphicsServices
  • 呼叫GSEventSetHardwareKeyboardAttached(NO)的viewDidLoad中
  • 里面添加一个按钮,通过调用

    static void toggleKeyboard(UIKeyboardImpl * keyImpl){ 
    if (UIKeyboardAutomaticIsOnScreen()) { 
        UIKeyboardOrderOutAutomatic(); 
    } else { 
        UIKeyboardOrderInAutomatic(); 
    } 
    

切换键盘我在http://code.google.com/p/btstack/wiki/iPhoneKeyboardHiding 上找到了这个功能现在我可以从软键盘和从蓝牙设备。

+0

不使用私有框架意味着您将被iTunes Store拒绝? – Slee 2010-12-19 00:53:25

+0

他说这是一个私人使用的应用程序,所以他不在乎。 – lensovet 2010-12-25 10:47:52

+0

从未在私有API上看到拒绝。 – Dmitry 2014-08-05 22:30:21

0

要避开它使用苹果键盘您弹出键。也许你可以实现一个发送弹出键码的动作?我认为iSSH有一项功能,即使在连接蓝牙键盘时,您也可以轻点屏幕键盘图标使其显示出来。