2012-02-16 63 views
4

在我的應用程序中,我有一個客戶信息表單,其中有一些我已經使用的文本字段,現在當用戶編輯任何字段時,我需要將整個視圖向上移動以便編輯文本字段不會在iPad的內部鍵盤下得到,並且工作正常。 現在客戶想要使用外部藍牙鍵盤填寫此表單。一旦這個外部鍵盤與iPad連接,然後在應用程序中編輯任何文本字段將不會顯示內部鍵盤作爲外部連接,在這種情況下,整個視圖需要在頁面上,並且無需將其移動。 但是,當我編輯文本字段時,它仍然會上升,而不會在屏幕上顯示內部鍵盤,這會使屏幕的一半空白,因爲它會將整個視圖向上移動。檢測iPad應用程序中的藍牙鍵盤

爲此,我嘗試了一些方法來啓用內部鍵盤顯示/隱藏通知,但只有外部鍵盤未連接時纔會調用這些通知,這對我沒有幫助。 也嘗試使用ExternalAccessory框架,但它不會檢測到藍牙連接的鍵盤也嘗試用EADemo來檢測外部鍵盤和它沒有檢測到外部鍵盤,但它會檢測信用卡swiper連接槽底座。

如果有人在這裏已經通過這個功能或知道任何與此有關的事情,請讓我知道。

回答

1

@SpySudhir -

邏輯答:

  • 在一些文件,這將返回是/否值當鍵盤是外部或內部一個bool變量。

  • 在bool值的基礎上返回調用動畫函數。

邏輯B:

  • 收聽使用NSNotificationCenter鍵盤通知。

  • 通知會像將,顯示,隱藏通知把NSLog覆蓋他們,看看他們哪一個被調用。

  • 如果外部板連接,willShow方法不會被調用。所以在這種情況下,我們可以做一些變通,並將布爾值設置爲否或者我們可以有一個計數器,並且每次檢查它的值是增加1還是相同。

1

時域獲得焦點,您應保持不動的觀點了 - 你應該只移動視圖了作爲一個UIKeyboardDidShowNotification的響應。該系統爲您處理剩下的問題。