2013-03-27 63 views
5

我有一個UITextField供用戶輸入他們的街道地址。我有鍵盤適當設置爲該字段的默認值。默認的iPad AlphaNumeric鍵盤數字模式

由於大多數人的街道地址都以數字開頭,所以我希望它默認爲數字模式,就好像用戶已經按了.123鍵。這樣,他們可以立即開始輸入他們地址的數字部分,並且一旦他們按下空格鍵,它會立即轉回到alpha。

這可能嗎?

+0

這是一個很酷的想法。我不認爲蘋果提供這種默認功能,但你應該嘗試實現它。讓我們知道你是否做過任何用戶測試,以及用戶對變化鍵盤的反應。 – 2013-03-27 20:46:03

回答

1

目前沒有設置或選項來做到這一點。您必須以編程方式通過UITextFieldTextDidChangeNotificationtextField:shouldChangeCharactersInRange:replacementString:委託方法觀察空格鍵輸入,然後切換鍵盤來執行此操作。

即使在使用UIKeyboardTypeNumbersAndPunctuation時,iOS用於切換到空格鍵後的字母鍵盤。這是固定在5.0。

當您切換字段的鍵盤類型時,您實際上只是說明下次顯示哪個鍵盤時使用。如果鍵盤已被顯示,切換類型不會改變它。所以,隱藏鍵盤,切換類型,然後再次顯示:

[textField1 resignFirstResponder]; 
[textField1.keyboardType = UIKeyboardTypeAlphabet]; 
[textField1 becomeFirstResponder]; 
+0

好吧,我實現了textField:shouldChangeCharactersInRange:replacementString:方法來捕獲空格鍵,並做了一個[self.address setKeyboardType:UIKeyboardTypeAlphabet],但它並沒有改變鍵盤。 – 2013-03-29 22:46:16

+0

@MarkPetereit,我更新了我的答案,並附有切換鍵盤的說明。 – 2013-03-31 01:29:26

+0

謝謝!我認爲這將會訣竅。 – 2013-04-10 00:43:23