是否有任何方法可以在iOS 6中關閉特定文本框/文本視圖的鍵盤快捷鍵? 我想關閉我的應用程序的鍵盤快捷鍵,而不是從iOS的「設置應用程序」中關閉。iOS 6:關閉鍵盤快捷方式
我開始編寫自己的文本編輯器來實現它。
是否有任何方法可以在iOS 6中關閉特定文本框/文本視圖的鍵盤快捷鍵? 我想關閉我的應用程序的鍵盤快捷鍵,而不是從iOS的「設置應用程序」中關閉。iOS 6:關閉鍵盤快捷方式
我開始編寫自己的文本編輯器來實現它。
在應用程序級別上沒有關閉鍵盤快捷鍵的標準方法(適用於非越獄iOS)。 爲了達到這個目的,我使用Core Text
和UITextInput
協議實現了自定義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項目中添加上述代碼以關閉默認快捷方式。
從我所知道的,如果你的iPhone沒有越獄,那麼你不能關閉特定的應用程序。它更像是一個「主設置」,如果更改,更改將適用於iOS中的所有內容。
如果越獄的,我知道有實用的應用程序,你可以下載,讓您調整在時尚OS ...
你可以嘗試關閉自動更正爲您的文本字段或文本視圖,其autocorrectionType
屬性(如果快捷方式功能包含在該內容中(似乎很可能),那麼它也應該被禁用。我很確定沒有辦法控制快捷系統本身;你可以考慮爲它提供一個enhancement request。
感謝您的回覆。我已經嘗試過了,autocorrectionType在這種情況下不會起作用。 – atrane
設置>常規>快捷方式。有現成的和你可能已經建立的任何。它們適用於所有iOS設備,包括桌面Mac。
感謝您的回答,但我希望它適用於非越獄iOS。 – atrane