UIKeyboard键盘相关知识点-IOS开发
一、键盘风格 UIKit框架支持8种风格键盘。 [java] view plain copy print ? typedefenum{ UIKeyboardTypeDefault,//默认键盘:支持所有字符 UIKeyboardTypeASCIICapable,//支持ASCII的默认键盘 UIKeyboardTypeNumbersAndPunctuation,//标准电话键盘,支持+*#等符号 UIKeyboardTypeURL,//URL键盘,有.com按钮;只支持URL字符 UIKeyboardTypeNumberPad,//数字键盘 UIKeyboardTypePhonePad,//电话键盘 UIKeyboardTypeNamePhonePad,//电话键盘,也支持输入人名字 UIKeyboardTypeEmailAddress,//用于输入电子邮件地址的键盘 }UIKeyboardType; 用法用例: textView.keyboardtype =UIKeyboardTypeNumberPad; 二、键盘外观 [java] view plain copy print ? typedefenum{ UIKeyboardAppearanceDefault,//默认外观:浅灰色 UIKeyboardAppearanceAlert,//深灰/石墨色 }UIKeyboardAppearance; 用法用例: textView.keyboardAppearance=UIKeyboardAppearanceDefault; 三、回车键 typedefenum{ 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; 四、自动大写 [java] view plain copy print ? typedefenum{ UITextAutocapitalizationTypeNone,//不自动大写 UITextAutocapitalizationTypeWords,//单词首字母大写 UITextAutocapitalizationTypeSentences,//句子首字母大写 UITextAutocapitalizationTypeAllCharacters,//所有字母大写 }UITextAutocapitalizationType; 用法用例: textField.autocapitalizationType=UITextAutocapitalizationTypeWords; 五、自动更正 [java] view plain copy print ? typedefenum{ UITextAutocorrectionTypeDefault,//默认 UITextAutocorrectionTypeNo,//不自动更正 UITextAutocorrectionTypeYes,//自动更正 }UITextAutocorrectionType; 用法用例: textField.autocorrectionType=UITextAutocorrectionTypeYes; 六、安全文本输入 textView.secureTextEntry=YES; 开启安全输入主要是用于密码或一些私人数据的输入,此时会禁用自动更正和自此缓存。 原文来自:http://blog.csdn.net/iukey/article/details/7301150 七、键盘遮住视图 默认情况下打开键盘会遮住下面的view,带来一点点困扰,不过这不是什么大问题,我们使用点小小的手段就可以解决。 首先我们要知道键盘的高度是固定不变的,不过在IOS 5.0 以后键盘的高度貌似不是216了,不过不要紧,我们调整调整就是了: iPhone ipad 竖屏(portrait) 216 264 横屏(landScape) 140 352 我们采取的方法就是在textField(有可能是其他控件)接收到弹出键盘事件时把self.view整体上移216px了(我们就以iPhone竖屏为例了)。 有关View的frame,origin,size之类的知识点不懂的请参看我的另一篇博文: <<有关View的几个基础知识点>> 首先我们要设置textField的代理,我们就设为当前控制器了。 textField,delegate=self; 然后我们在当前控制器实现下面三个委托方法: [java] view plain copy print ? -(void)textFieldDidBeginEditing:(UITextField*)textField {//当点触textField内部,开始编辑都会调用这个方法。textField将成为firstresponder NSTimeIntervalanimationDuration=0.30f; CGRectframe=self.view.frame; frame.origin.y-=216; frame.size.height+=216; self.view.frame=frame; [UIViewbeginAnimations:@"ResizeView"context:nil]; [UIViewsetAnimationDuration:animationDuration]; self.view.frame=frame; [UIViewcommitAnimations]; } [java] view plain copy print ? -(BOOL)textFieldShouldReturn:(UITextField*)textField {//当用户按下ruturn,把焦点从textField移开那么键盘就会消失了 NSTimeIntervalanimationDuration=0.30f; CGRectframe=self.view.frame; frame.origin.y+=216; frame.size.height-=216; self.view.frame=frame; //self.view移回原位置 [UIViewbeginAnimations:@"ResizeView"context:nil]; [UIViewsetAnimationDuration:animationDuration]; self.view.frame=frame; [UIViewcommitAnimations]; [textFieldresignFirstResponder]; } 原文来自:http://blog.csdn.net/iukey/article/details/7242488 本文转自新风作浪 51CTO博客,原文链接:http://blog.51cto.com/duxinfeng/1208763,如需转载请自行联系原作者