2012-02-16 36 views
4

在我的应用程序中,我有一个客户信息表单,其中有一些我已经使用的文本字段,现在当用户编辑任何字段时,我需要将整个视图向上移动以便编辑文本字段不会在iPad的内部键盘下得到,并且工作正常。 现在客户想要使用外部蓝牙键盘填写此表单。一旦这个外部键盘与iPad连接,然后在应用程序中编辑任何文本字段将不会显示内部键盘作为外部连接,在这种情况下,整个视图需要在页面上,并且无需将其移动。 但是,当我编辑文本字段时,它仍然会上升,而不会在屏幕上显示内部键盘,这会使屏幕的一半空白,因为它会将整个视图向上移动。检测iPad应用程序中的蓝牙键盘

为此,我尝试了一些方法来启用内部键盘显示/隐藏通知,但只有外部键盘未连接时才会调用这些通知,这对我没有帮助。 也尝试使用ExternalAccessory框架,但它不会检测到蓝牙连接的键盘也尝试用EADemo来检测外部键盘和它没有检测到外部键盘,但它会检测信用卡swiper连接槽底座。

如果有人在这里已经通过这个功能或知道任何与此有关的事情,请让我知道。

回答

1

@SpySudhir -

逻辑答:

  • 在一些文件,这将返回是/否值当键盘是外部或内部一个bool变量。

  • 在bool值的基础上返回调用动画函数。

逻辑B:

  • 收听使用NSNotificationCenter键盘通知。

  • 通知会像将,显示,隐藏通知把NSLog覆盖他们,看看他们哪一个被调用。

  • 如果外部板连接,willShow方法不会被调用。所以在这种情况下,我们可以做一些变通,并将布尔值设置为否或者我们可以有一个计数器,并且每次检查它的值是增加1还是相同。

1

时域获得焦点,您应保持不动的观点了 - 你应该只移动视图了作为一个UIKeyboardDidShowNotification的响应。该系统为您处理剩下的问题。