2012-10-18 158 views
1

是否有任何方法可以在iOS 6中關閉特定文本框/文本視圖的鍵盤快捷鍵? 我想關閉我的應用程序的鍵盤快捷鍵,而不是從iOS的「設置應用程序」中關閉。iOS 6:關閉鍵盤快捷方式

我開始編寫自己的文本編輯器來實現它。

回答

1

在應用程序級別上沒有關閉鍵盤快捷鍵的標準方法(適用於非越獄iOS)。 爲了達到這個目的,我使用Core TextUITextInput協議實現了自定義TextView。 Add @property for keyBoardShortCuts, 通過以下方式覆蓋「tokenizer」getter方法以關閉快捷方式。

- (id <UITextInputTokenizer>)tokenizer { 
    if(self.keyBoardShortCuts) 
     return _tokenizer; 
    else 
     return nil; 
} 

如果我們刪除標記器,自定義視圖中沒有鍵盤快捷鍵,即使快捷方式是從iOS設置打開的。

注意:請注意一件事,因爲我們現在不依賴於tokenizer,在這種情況下,請使用enumerateSubstringsInRange:range選項:NSStringEnumerationByWords/Lines塊來查找單詞或行的選擇範圍。

要嘗試此操作,請在EGOTextView項目中添加上述代碼以關閉默認快捷方式。

0

從我所知道的,如果你的iPhone沒有越獄,那麼你不能關閉特定的應用程序。它更像是一個「主設置」,如果更改,更改將適用於iOS中的所有內容。

如果越獄的,我知道有實用的應用程序,你可以下載,讓您調整在時尚OS ...

+0

感謝您的回答,但我希望它適用於非越獄iOS。 – atrane

2

你可以嘗試關閉自動更正爲您的文本字段或文本視圖,其autocorrectionType屬性(如果快捷方式功能包含在該內容中(似乎很可能),那麼它也應該被禁用。我很確定沒有辦法控制快捷系統本身;你可以考慮爲它提供一個enhancement request

+0

感謝您的回覆。我已經嘗試過了,autocorrectionType在這種情況下不會起作用。 – atrane

0

設置>常規>快捷方式。有現成的和你可能已經建立的任何。它們適用於所有iOS設備,包括桌面Mac。