您的位置:首页 > 产品设计 > UI/UE

UIKeyboard键盘

2015-06-08 10:26 435 查看
一、键盘风格

UIKit框架支持8种风格键盘。

[java] view plaincopyprint?

typedef enum {

UIKeyboardTypeDefault, // 默认键盘:支持所有字符

UIKeyboardTypeASCIICapable, // 支持ASCII的默认键盘

UIKeyboardTypeNumbersAndPunctuation, // 标准电话键盘,支持+*#等符号

UIKeyboardTypeURL, // URL键盘,有.com按钮;只支持URL字符

UIKeyboardTypeNumberPad, //数字键盘

UIKeyboardTypePhonePad, // 电话键盘

UIKeyboardTypeNamePhonePad, // 电话键盘,也支持输入人名字

UIKeyboardTypeEmailAddress, // 用于输入电子邮件地址的键盘

} UIKeyboardType;

用法用例:

textView.keyboardtype = UIKeyboardTypeNumberPad;

二、键盘外观

[java] view plaincopyprint?

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;

四、自动大写

[java] view plaincopyprint?

typedef enum {

UITextAutocapitalizationTypeNone, //不自动大写

UITextAutocapitalizationTypeWords, //单词首字母大写

UITextAutocapitalizationTypeSentences, //句子首字母大写

UITextAutocapitalizationTypeAllCharacters, //所有字母大写

} UITextAutocapitalizationType;

用法用例:

textField.autocapitalizationType = UITextAutocapitalizationTypeWords;

五、自动更正

[java] view plaincopyprint?

typedef enum {

UITextAutocorrectionTypeDefault,//默认

UITextAutocorrectionTypeNo,//不自动更正

UITextAutocorrectionTypeYes,//自动更正

} UITextAutocorrectionType;

用法用例:

textField.autocorrectionType = UITextAutocorrectionTypeYes;

六、安全文本输入

textView.secureTextEntry=YES;

开启安全输入主要是用于密码或一些私人数据的输入,此时会禁用自动更正和自此缓存。

七.键盘的高度计算

在一些情况下,在键盘弹出时,需要上移动,键盘消失时界面恢复原来位置,则代码如下:(先建立键盘监听事件,然后键盘弹出时实现一个动画效果)

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(forgetPassWordKeyWillShow:) name:UIKeyboardWillShowNotification object:nil];//键盘弹出时的监听

[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(forgetPassWordWillHide:) name:UIKeyboardWillHideNotification object:nil];//键盘消失时的监听

- (void)keyBoardShow:(NSNotification *)notification
{
//计算键盘高度
float y = [[notification.userInfo objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue].size.height;

//键盘移动动画

[UIView animateWithDuration:0.5f animations:^{

self.view.frame = CGRectMake(0, (0-y/2), WIDTH, HEIGHT);
_flowerIcon.transform =CGAffineTransformMakeScale(0.3, 0.3);

}];

}

- (void)keyBoardHide:(NSNotification *)notification
{
self.view.frame = frame;

[UIView animateWithDuration:0.5f animations:^{
_flowerIcon.transform = CGAffineTransformMakeScale(1.0, 1.0);
}];

}


八.撤销键盘的方法

1.当用户按下return键或者按回车键,keyboard消失

-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{

[self.view endEditing:YES];
}


2.点击空白撤销键盘的方法

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{

UITouch *touch = [touches anyObject];

if (![touch.view isKindOfClass: [UITextField class]] || ![touch.view isKindOfClass: [UITextView class]]) {

[self.view endEditing:YES];
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: