iOS 键盘挡住输入框的解决方案
来源:互联网 发布:苹果cms解析 编辑:程序博客网 时间:2024/05/15 04:53
原理:利用通知来实现对键盘状态的监听
直接上代码
1.注册通知
/* 键盘即将弹出 UIKeyboardWillShowNotification 键盘已经弹出 UIKeyboardDidShowNotification 键盘即将隐藏 UIKeyboardWillHideNotification 键盘已经隐藏 UIKeyboardDidHideNotification 键盘frame变化 UIKeyboardWillChangeFrameNotification*/[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textFieldShouldChangeFrame:) name:UIKeyboardWillChangeFrameNotification object:nil];
2.实现通知方法
- (void)textFieldShouldChangeFrame:(NSNotification *)notification{ //通知中的字典信息 NSDictionary *dict = notification.userInfo; CGRect beginRect = [dict[UIKeyboardFrameBeginUserInfoKey] CGRectValue]; CGRect endRect = [dict[UIKeyboardFrameEndUserInfoKey] CGRectValue]; /* 键盘弹出高度变化 */ CGFloat changeY = beginRect.origin.y - endRect.origin.y; /* 键盘弹出动画时间 */ NSTimeInterval time = [dict[UIKeyboardAnimationDurationUserInfoKey] doubleValue]; /* 利用动画改变键盘位置 */ [UIView animateWithDuration:time animations:^{ _textField.frame = CGRectMake(0, _textField.frame.origin.y - changeY, _textField.frame.size.width, _textField.frame.size.height); }];}
3.移除通知
- (void)dealloc{ /* 移除通知 */ [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillChangeFrameNotification object:nil];}
0 0
- iOS 键盘挡住输入框的解决方案
- iOS 键盘挡住输入框的解决办法
- 移动端 ios键盘挡住底部 输入框的问题完美解决方案
- iOS 解决键盘挡住输入框的问题
- ios输入框被键盘挡住的解决办法
- ios解决键盘挡住输入框的方法
- iOS之键盘挡住输入框的解决方法
- IOS 解决键盘挡住输入框的问题
- [iOS]解决键盘弹出时挡住输入框的问题
- iOS 解决键盘挡住输入框的问题
- IOS 解决键盘挡住输入框的问题
- IOS 解决键盘挡住输入框的问题
- 完善-- iOS之键盘挡住输入框的解决方法
- ios输入框被键盘挡住的解决办法
- iOS 输入框被键盘挡住的解决办法
- iOS 解决键盘挡住输入框的问题
- IOS 解决键盘挡住输入框的问题
- ios输入框被键盘挡住的解决办法
- 链表和队列编程1
- 关于Apache Tomcat 9.0的使用(尤其针对免安装版)
- 基于角色的访问控制RBAC的mysql表设计
- pwn学习总结
- VS2010/MFC编程入门之四十二(MFC常用类:CString类)
- iOS 键盘挡住输入框的解决方案
- 共享连接和专用连接
- TensorFlow与OpenCV,读取图片,进行简单操作并显示
- 数据算法与结构:第一周:文摘
- Scrapy安装及demo测试笔记
- 数据接口示例
- 陕西省集训(单调队列)
- 16进制内存数值和字符串互转 C语言版
- angularjs的作用域、ng-repeat、模块、控制器