我真的想製作一個鍵盤,它是UIKeyboardTypeNumberPad,而不是它在按下4按鈕時在文本框中顯示4,我希望它突出顯示G大約5秒,而突出顯示時,如果再按一下它去h,然後去所有的字母,所以2會開始A然後B然後C如果多次點擊?我在IOS上發現他們內置了一個這樣做,但它不完全是UIKeyboardTypeNumberPad和它的日語,它會顯示,並輸入美國,但仍然有一些日本人,很難使用,因爲它不是一個真正的滿UIKeyboardTypeNumberPad。例如0是空格或轉到下一個字母,而不是日本的字母。所以我如何編碼我的應用程序?UIKeyboardTypeNumberPad鍵入字母?
回答
正確的方法做,這是創建自己的「鍵盤」你想要的按鈕和操作視圖,並將其分配給文本字段的inputView
財產。然後系統將顯示您的鍵盤而不是正常的系統鍵盤。鍵盤視圖(或視圖控制器)將需要引用迴文本字段,因此它可以使用UITextInput
方法來響應用戶的觸摸。
「Custom Views for Data Input」 in Text, Web, and Editing Programming Guide for iOS
UITextInput Protocol Reference
我不認爲這是一個好方法,但技術上你可以。不要使用鍵盤,而要使用輸入字段。我的意思是,例如,UITextViewDelegate
定義了–textView:shouldChangeTextInRange:replacementText:
方法。當用戶嘗試更改UITextView
中的文本時,將調用此方法。然後您可以手動更改文本並返回NO以忽略用戶輸入。
在下面的例子中,當用戶鍵入'0'時,將會添加'G'(代表我的想法)。
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
NSString *correctReplacement = [text stringByReplacingOccurrencesOfString:@"0" withString:@"G"];
textView.text = [textView.text stringByAppendingString:correctReplacement];
return NO;
}
的感謝!這是非常接近的,但是我不能使用它,因爲如果這個功能與一個字母一起工作,那麼舊手機會給你5秒左右的時間,如果你再次按下2,那麼這個字母就會改變並轉向。但我想我可以使代碼工作,如果我使用一個數組,它會在給定時間周圍數組...希望工程:] – Maximilian 2012-02-08 02:10:40
嗯。我明白你想要什麼。並且給出的代碼不是爲了解決你的問題,而是爲了說明'UITextViewDelegate'的用法(導致你的問題的代碼更復雜)。爲了解決您的問題,您應該添加一些變量,例如「上次敲擊鍵」和「上次鍵敲擊次數」,並在計時器啓動後清除這些值。像這樣的東西。 – kpower 2012-02-08 02:26:09
- 1. UIKeyboardTypeNumberPad關閉鍵盤
- 2. UIkeyboardtypenumberpad IPAD
- 3. 用鍵入的字母顯示歌曲
- 4. 無法在gdb中鍵入字母'v'
- 5. vim完成刪除鍵入的字母
- 6. 如何使用UIKeyboardTypeNumberPad格式插入十進制數字?
- 7. 如何關閉UIKeyboardTypeNumberPad?
- 8. 如何禁用字母鍵使其不能鍵入
- 9. jquery鍵入字母作爲移動鍵盤
- 10. 更改由其他字母鍵入的字母,並在UITexfield中顯示
- 11. Javascript字母鍵綁定
- 12. iPad的鍵盤渲染 - 缺字母/鍵
- 13. 允許輸入字母的數字軟鍵盤
- 14. PHP使preg_split字母數字混合串使字母鍵
- 15. 想要在默認字母鍵盤中顯示數字軟輸入鍵盤
- 16. 從輸入數字字母
- 17. 字母數字輸入
- 18. 鍵盤的大寫字母鎖定文本框的第一個字母的鍵?
- 19. 爪哇鞦韆字母數字鍵盤
- 20. WPF KeyGestures - 綁定非字母數字鍵
- 21. 增量字母數字主鍵
- 22. 插入字母和數字 - 在字母「數字」的時間右移字母
- 23. Titanium - TextField鍵盤類型爲單詞首字母大寫字母
- 24. 如何通過鍵入一個字母來終止程序?
- 25. 在搜索框中鍵入結果字母加粗
- 26. 在軟鍵盤上輸入大寫字母的代碼android
- 27. 如何輸出用戶鍵入的短語的特定字母
- 28. 當鍵盤輸入與使用keyListener的字母
- 29. 當我鍵入字母到一個int()它將關閉程序
- 30. 在android中爲鍵入的字母顏色
不是我真正想到的,如果你看到舊手機,我想諾基亞?在屏幕上顯示所有數字,在文本中,按2,它會顯示一個高亮顯示的內容,然後在大約5秒鐘後消失,英鎊就是我想的空間,等等,只需點擊字母,theres系統中的鍵盤內置功能可以實現此功能,但是它的日語功能可以使用美國語言,但它沒有間距和按鈕,而是點擊兩個按鈕來更改單詞,或者由於日語字典鍵盤,它不能關閉。 – Maximilian 2012-02-08 02:08:57
是的,我知道你在說什麼。您可以使用我鏈接的API來構建該系統。 – 2012-02-08 04:02:33