step—1:键盘的监听
1.一般在viewWillAppear:方法中添加监听事件
- (void)viewWillAppear:(BOOL)animated{
[superviewWillAppear:animated];
//增加监听,当键盘出现或改变时收出消息
[[NSNotificationCenterdefaultCenter] addObserver:selfselector:@selector(keyboardWillShow:)name:UIKeyboardWillShowNotificationobject:nil];
//增加监听,当键退出时收出消息
[[NSNotificationCenterdefaultCenter] addObserver:selfselector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotificationobject:nil];
}
//当键盘弹出时调用
- (void)keyboardWillShow:(NSNotification*)notification{
//获取键盘的高度
NSDictionary*userInfo = [notification userInfo];
NSValue*value = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];
CGRectkeyboardRect = [value CGRectValue];
CGFloatheight = keyboardRect.size.height;
//第一种 self.view 平移的属性
//self.view.transform=CGAffineTransformMakeTranslation(0,-height);
//第二种 self.view frame的属性
CGRectframe = self.view.frame;
frame.origin.y= -height;
self.view.frame= frame;
NSLog(@"键盘打开...%@",NSStringFromCGRect(self.view.frame));
}
//当退出退出时调用
- (void)keyboardWillHide:(NSNotification*)notification{
//获取键盘的高度
NSDictionary*userInfo = [notification userInfo];
NSValue*value = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];
CGRectkeyboardRect = [value CGRectValue];
CGFloatheight = keyboardRect.size.height;
//第一种 self.view 平移的属性
//self.view.transform=CGAffineTransformIdentity;
//self.view.transform=CGAffineTransformMakeTranslation(0,0);
//第二种 self.view frame的属性
CGRectframe = self.view.frame;
frame.origin.y= 0;
self.view.frame= frame;
NSLog(@"键盘关闭...%@",NSStringFromCGRect(self.view.frame));
}
2.一般在viewWillDisappear:或dealloc 方法中移除
- (void)viewWillDisappear:(BOOL)animated{
[superviewWillDisappear:animated];
//解除键盘出现通知
[[NSNotificationCenterdefaultCenter] removeObserver:selfname:UIKeyboardDidShowNotificationobject:nil];
//解除键盘隐藏通知
[[NSNotificationCenterdefaultCenter] removeObserver:selfname:UIKeyboardDidHideNotificationobject:nil];
}
- (void)dealloc{
//解除键盘出现通知
[[NSNotificationCenterdefaultCenter] removeObserver:selfname:UIKeyboardDidShowNotificationobject:nil];
//解除键盘隐藏通知
[[NSNotificationCenterdefaultCenter] removeObserver:selfname:UIKeyboardDidHideNotificationobject:nil];
}
Step—2:键盘的的种类
1>UIKeyboardTypeDefault:
2>UIKeyboardTypeASCIICapable:
3>UIKeyboardTypeNumbersAndPunctuation:
4>UIKeyboardTypeURL:
5>UIKeyboardTypeNumberPad:
6>UIKeyboardTypePhonePad:
7>UIKeyboardTypeNamePhonePad:
8>UIKeyboardTypeEmailAddress:
9>UIKeyboardTypeDecimalPad:
10>UIKeyboardTypeTwitter:
11>UIKeyboardTypeWebSearch:
文章来源:https://www.toymoban.com/news/detail-496631.html
12>UIKeyboardTypeAlphabet:
文章来源地址https://www.toymoban.com/news/detail-496631.html
到了这里,关于iOS 关于键盘监听的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!