iphone 软键盘
2010-08-24 16:13 乱世文章 阅读(307) 评论(0) 编辑 收藏 举报
当文本输入时, 文本框有几中选择用于辅助输入:
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];
- }
- }