iOS开发键盘设置
iOS开发键盘设置
一、键盘风格
UIKit框架支持8种风格键盘。
typedef enum {
UIKeyboardTypeDefault, // 默认键盘:支持所有字符
UIKeyboardTypeASCIICapable, // 支持ASCII的默认键盘
UIKeyboardTypeNumbersAndPunctuation, // 标准电话键盘,支持+*#等符号
UIKeyboardTypeURL, // URL键盘,有.com按钮;只支持URL字符
UIKeyboardTypeNumberPad, //数字键盘
UIKeyboardTypePhonePad, // 电话键盘
UIKeyboardTypeNamePhonePad, // 电话键盘,也支持输入人名字
UIKeyboardTypeEmailAddress, // 用于输入电子邮件地址的键盘
} UIKeyboardType;
用法用例:
textView.keyboardtype = UIKeyboardTypeNumberPad;
二、键盘外观
typedef enum {
UIKeyboardAppearanceDefault, // 默认外观:浅灰色
UIKeyboardAppearanceAlert, //深灰/石墨色
} UIKeyboardAppearance;
用法用例:
textView.keyboardAppearance=UIKeyboardAppearanceDefault;
三、回车键
typedef enum {
UIReturnKeyDefault, //默认:灰色按钮,标有Return
UIReturnKeyGo, //标有Go的蓝色按钮
UIReturnKeyGoogle, //标有Google的蓝色按钮,用于搜索
UIReturnKeyJoin, //标有Join的蓝色按钮
UIReturnKeyNext, //标有Next的蓝色按钮
UIReturnKeyRoute, //标有Route的蓝色按钮
UIReturnKeySearch, //标有Search的蓝色按钮
UIReturnKeySend, //标有Send的蓝色按钮
UIReturnKeyYahoo, //标有Yahoo!的蓝色按钮,用于搜索
UIReturnKeyDone, //标有Done的蓝色按钮
UIReturnKeyEmergencyCall, //紧急呼叫按钮
} UIReturnKeyType;
用法用例:
textView.returnKeyType=UIReturnKeyGo;
四、自动大写
typedef enum {
UITextAutocapitalizationTypeNone, //不自动大写
UITextAutocapitalizationTypeWords, //单词首字母大写
UITextAutocapitalizationTypeSentences, //句子首字母大写
UITextAutocapitalizationTypeAllCharacters, //所有字母大写
} UITextAutocapitalizationType;
用法用例:
textField.autocapitalizationType = UITextAutocapitalizationTypeWords;
五、自动更正
typedef enum {
UITextAutocorrectionTypeDefault,//默认
UITextAutocorrectionTypeNo,//不自动更正
UITextAutocorrectionTypeYes,//自动更正
} UITextAutocorrectionType;
用法用例:
textField.autocorrectionType = UITextAutocorrectionTypeYes;
六、安全文本输入
textView.secureTextEntry=YES;
开启安全输入主要是用于密码或一些私人数据的输入,此时会禁用自动更正和自此缓存。
简介:这是iPhone 和输入,键盘相关的属性的详细页面,介绍了和手机软件,iPhone iPhone 和输入,键盘相关的属性有关的知识,加入收藏请按键盘ctrl+D,要查看更多相关信息,请点击此处
当文本输入时, 文本框有几中选择用于辅助输入:
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]; } }