2016-01-26 54 views
0

有沒有辦法將鍵盤名稱變成UIKeyboardType或其他可用作鍵盤的類型?iOS - 從NSUserDefaults調用特定鍵盤

這是我的。假設該設備已安裝特定語言的鍵盤(比如日本),我可以檢查NSUserDefaults的,並得到設備的列表,像這樣:

NSArray *arrayOfKeyboardNames = [defaults arrayForKey:@"AppleKeyboards"]; 

這一點,在我的情況下,返回4個鍵盤名稱:

"[email protected]=US;sw=QWERTY", 
"[email protected]=Emoji", 
"[email protected]=Kana;hw=US", 
"[email protected]=Russian" 

然後我想要做的就是將[email protected]=Kana;hw=US的鍵盤設置爲UITextField的輸入類型。 理想情況下,這將用於整個應用程序,而不僅僅是一個字段,但現在這可能工作。

問題是UITextField只接受一個枚舉作爲keyboardType,這顯然不是一個枚舉值。

有沒有辦法做到這一點? 最終結果應該是用戶觸摸UITextField時顯示的日文鍵盤。

回答

2

沒有公共的API可以讓你切換鍵盤。通過點擊鍵盤上的小球形鍵,它完全在用戶的控制之下。

UITextInputMode類提供了一種查看哪些鍵盤可用但沒有API來設置它的方法。

+0

但是,如果您知道設備上安裝了鍵盤,是否無法調用該鍵盤?我知道這不是一個公共的API,並可能會被拒絕。 – TooManyEduardos

+0

我不知道是否有私人API來做到這一點。如果有,您使用它,您的應用程序將被拒絕。 – rmaddy

+0

好的,謝謝。 – TooManyEduardos