2010-07-28 92 views

回答

1

據我所知,沒有特殊的API用於鍵盤事件或特定的鍵擊事件,就像你在桌面上看到的那樣。但我相信在iOS 3.2中,您有更多的鍵盤訪問權限,並且您可能能夠訪問這些觸摸事件。我不確定外接鍵盤是如何影響的。這看起來似乎是蘋果沒有真正想到的,或者已經決定並不重要。

0

我不確定這會起作用,但是如果您的應用程序的頂級視圖創建了一個隱藏文本視圖,然後調用「[textView becomeFirstResponder];」,然後回覆UITextViewTextDidChangeNotification s您可能會拿起在文本中輸入的控制鍵領域。不利的一面是,如果沒有連接外部鍵盤,並且您不想提供任何直接文本輸入,則必須禁止鍵盤彈出。

+0

控制字符不被該協議傳遞。也沒有意義。如果沒有私人API,保持鍵盤不起作用。 – 2010-09-10 08:41:23

2

雖然這個問題相當老舊,但Apple已在iOS 7中添加了對鍵盤特定快捷方式的支持。請查看UIKit Framework中的UIKeyCommand class,以獲取硬件鍵盤快捷鍵的特殊支持。我們的高級步驟是:

  1. 使用的UIKeyCommand類中的靜態keyCommandWithInput:modifierFlags:action:方法與修飾符指定鍵創建UIKeyCommand的一個實例。請注意,系統處理的任何鍵盤快捷鍵(如Command-C的副本)都不起作用。您還將傳遞將在使用鍵盤快捷鍵時被調用的動作選擇器
  2. 通過從響應器對象的keyCommand屬性中返回它們,將此新創建的UIKeyCommand與您的響應器對象關聯。
  3. 當按下鍵時,您的選擇器將被調用。