當文本輸入時, 文本框有幾中選擇用於輔助輸入:
textField.clearButtonMode = UITextFieldViewModeWhileEditing;
typedef enum {
UITextFieldViewModeNever, //clear button 永遠不出現
UITextFieldViewModeWhileEditing, //編輯的時候出現
UITextFieldViewModeUnlessEditing, //未編輯的時候出現
UITextFieldViewModeAlways //永遠都出現
} UITextFieldViewMode;
彈出的鍵盤類型也可以輔助快速輸入:
textField.keyboardType = UIKeyboardTypeAlphabet;
typedef enum {
UIKeyboardTypeDefault, // Default type for the current input method.
UIKeyboardTypeASCIICapable, // Displays a keyboard which can enter ASCII characters, non-ASCII keyboards remain active
UIKeyboardTypeNumbersAndPunctuation, // Numbers and assorted punctuation.
UIKeyboardTypeURL, // A type optimized for URL entry (shows . / .com prominently).
UIKeyboardTypeNumberPad, // A number pad (0-9). Suitable for PIN entry.
UIKeyboardTypePhonePad, // A phone pad (1-9, *, 0, #, with letters under the numbers).
UIKeyboardTypeNamePhonePad, // A type optimized for entering a person's name or phone number.
UIKeyboardTypeEmailAddress, // A type optimized for multiple email address entry (shows space @ . prominently).
UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable, // Deprecated
} UIKeyboardType;
鍵盤的呈現風格:
textField..keyboardAppearance = UIKeyboardAppearanceAlert;
typedef enum {
UIKeyboardAppearanceDefault, // Default apperance for the current input method.
UIKeyboardAppearanceAlert, // Appearance suitable for use in "alert" scenarios.
} UIKeyboardAppearance;
鍵盤對輸入字母的控制:
textField.autocapitalizationType = UITextAutocapitalizationTypeAllCharacters;
typedef enum {
UITextAutocapitalizationTypeNone, //什麼也不做
UITextAutocapitalizationTypeWords, //單詞首字母大寫
UITextAutocapitalizationTypeSentences, //句子首字母大些
UITextAutocapitalizationTypeAllCharacters, //所有字母大些
} UITextAutocapitalizationType;
鍵盤對輸入字母自動糾正
textField.autocorrectionType = UITextAutocorrectionTypeYes;
typedef enum {
UITextAutocorrectionTypeDefault,
UITextAutocorrectionTypeNo,
UITextAutocorrectionTypeYes,
} UITextAutocorrectionType;
確認鍵的類型
textField.returnKeyType = UIReturnKeyDone;
typedef enum {
UIReturnKeyDefault,
UIReturnKeyGo,
UIReturnKeyGoogle,
UIReturnKeyJoin,
UIReturnKeyNext,
UIReturnKeyRoute,
UIReturnKeySearch,
UIReturnKeySend,
UIReturnKeyYahoo,
UIReturnKeyDone,
UIReturnKeyEmergencyCall,
} UIReturnKeyType;
最後一個技巧,也是網上收集,鍵盤透明以及增加一個按鍵的應用:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWillShow:)
name:UIKeyboardWillShowNotification
object:nil];
--------------------
- (void)keyboardWillShow:(NSNotification *)note {
// create custom button
UIButton *doneButton = [UIButton buttonWithType:UIButtonTypeCustom];
doneButton.frame = CGRectMake(0, 163, 106, 53);
doneButton.adjustsImageWhenHighlighted = NO;
[doneButton setImage:[UIImage imageNamed:@"DoneUp.png"] forState:UIControlStateNormal];
[doneButton setImage:[UIImage imageNamed:@"DoneDown.png"] forState:UIControlStateHighlighted];
[doneButton addTarget:self action:@selector(doneButton:) forControlEvents:UIControlEventTouchUpInside];
// locate keyboard view
UIWindow* tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:1];
UIView* keyboard;
for(int i=0; i<[tempWindow.subviews count]; i++) {
keyboard = [tempWindow.subviews objectAtIndex:i];
// keyboard view found; add the custom button to it
if([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES)
[keyboard addSubview:doneButton];
}
}