ios关于键盘遮挡处理
来源:互联网 发布:淘宝店铺的简介和介绍 编辑:程序博客网 时间:2024/05/16 01:00
在一个app中,基本上都有一些输入项,那么问题就来了,有的输入项在底部,当弹出键盘时可能就会把该输入框遮住,针对这个问题,我们就可以用通知(NSNotificationCenter)解决;
2.在写相应的通知事件:
4.展示结果如下:
1.首先我们需要注册相应的通知如下:
//键盘将要显示时通知 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil]; //键盘将要消失时通知 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
2.在写相应的通知事件:
//键盘显示事件-(void)keyboardWillShow:(NSNotification *)notification{ //获取键盘高度,在不同设备上,以及中英文下是不同的 CGFloat kbHeight = [[notification.userInfo objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue].size.height; CGFloat ViewBottom = _bottomView.frame.origin.y; CGFloat offset = ViewBottom - kbHeight;<span style="white-space:pre"></span>//其中_bottomView是底部的一个UIView // 取得键盘的动画时间,这样可以在视图上移的时候更连贯 double duration = [[notification.userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue]; if(offset > 0) { [UIView animateWithDuration:duration animations:^{ self.view.frame = CGRectMake(0.0f, -offset, self.view.frame.size.width, self.view.frame.size.height); }]; }}
//键盘消失事件-(void)keyboardWillHide:(NSNotification *)notification{ // 键盘动画时间 double duration = [[notification.userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue]; //视图下沉恢复原状 [UIView animateWithDuration:duration animations:^{ self.view.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height); }]; }
3.记住,在注册了通知,在视图消失的时候要移除通知
//移除键盘通知 [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillShowNotification object:nil]; [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillHideNotification object:nil];
4.展示结果如下:
未输入之前:
输入之后:
0 0
- ios关于键盘遮挡处理
- IOS 键盘遮挡处理
- iOS 键盘遮挡处理
- iOS CJKeyBoardBarTextField_键盘遮挡处理
- ios 处理键盘遮挡问题
- iOS TextFiled、TextView 关于键盘的收起以及处理键盘遮挡
- ios关于键盘遮挡的简单方法
- 关于ios键盘遮挡输入框
- 关于ios键盘遮挡输入框
- iOS 键盘遮挡处理办法(不用键盘高度计算)
- UITableView处理键盘遮挡
- ios 键盘遮挡
- iOS 键盘遮挡文本框
- iOS键盘遮挡解决方案
- iOS 键盘遮挡问题
- iOS 键盘遮挡问题
- ios键盘遮挡问题
- iOS 键盘遮挡
- java调用百度API生成短链接(一)
- 一个小实例告诉你GO锁的使用.
- iOS-UIKit(UILabel.h常用技巧1(随字体多行后的高度,渐变字体Label,自适应高度,添加边框))
- sort-colors-ii
- android中在广播中弹出pop框的局限性
- ios关于键盘遮挡处理
- 定位基础
- 如何在jsp中嵌入Java代码取出存放在Attribute中的对象
- 稀疏表示分类器
- C++:如何声明和定义成员函数
- Failed to load from file, META-INF/ServiceData.xml
- ios 开发中 动态库 与静态库的区别
- 第一次写博客
- Linux套接字与虚拟文件系统(2):操作和销毁