2010-02-24 28 views
3

我正在使用UIKeyBoardTypeNamePhonePad來允許輸入字母和數字。它缺少我需要的一些功能。首先,我需要輸入的所有字母大寫。我可以在進入文本視圖時更改它,但我不希望用戶對如何輸入大寫字母感到困惑。另外,我希望當鍵盤第一次彈出時顯示數字鍵盤。你們能否指出我如何實現這一功能的正確方向?鍵盤與標準UITextField一起使用。UIKeyboardTypeNamePhonePad自動大寫

由於

回答

3

按照類引用,的UITextField實現UITextInputTraits協議。您可以通過設置autocapitalization類型的:

[myTxtFld setAutocapitalizationType:UITextAutocapitalizationTypeAllCharacters]; 

您可以設置鍵盤類型:

[myTxtFld setKeyboardType:UIKeyboardTypeNumberPad]; 

看一看這樣的: http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UITextInputTraits_Protocol/Reference/UITextInputTraits.html

+1

該鍵盤類型禁用autocapitalization型莫名其妙雖然。那是我的問題。 – rickharrison 2010-02-24 22:19:58

+1

哦。直到現在我才知道。 「某些鍵盤類型不支持自動大寫,具體而言,如果keyboardType屬性中的值設置爲UIKeyboardTypeNumberPad,UIKeyboardTypePhonePad或UIKeyboardTypeNamePhonePad,則忽略此選項。」 看起來像改變它自己是一個選項,你需要看看。或者希望別人有更好的方法。 – ArjunShankar 2010-02-25 05:29:08

+1

另外需要注意的是,在模擬器中,自動大寫設置僅影響模擬器鍵盤。所以如果你使用真正的鍵盤輸入,它將不起作用。 :) – Hlung 2011-10-04 10:45:29