IOS 解决键盘挡住输入框的问题
来源:互联网 发布:笔记本电脑如何优化 编辑:程序博客网 时间:2024/05/17 20:32
在iOS开发发现一个问题,有时输入框位于低出时,当编辑输入时,弹出的键盘会挡住输入框,令用户看不清楚实时的输入情况,使界面交互极度不友好。
经过查资料终于解决了这个问题。
解决思路:
1. 输入框监听UIControlEventEditingDidBegin事件,当用户开始输入时,将整个view上移。
2. 输入框监听UIControlEventEditingDidEnd事件,当用户结束输入时,将整个view下移,恢复到原位置。
输入框监听事件:
- [textfield addTarget:self action:@selector(textFieldDidBeginEditing:) forControlEvents:UIControlEventEditingDidBegin];
- [textfield addTarget:self action:@selector(textFieldDidEndEditing:) forControlEvents:UIControlEventEditingDidEnd];
响应事件:
- -(void)textFieldDidBeginEditing:(UITextField *)textField{ //开始编辑时,整体上移
- if (textField.tag==0) {
- [self moveView:-20];
- }
- if (textField.tag==1)
- {
- [self moveView:-60];
- }
- }
- -(void)textFieldDidEndEditing:(UITextField *)textField{ //结束编辑时,整体下移
- if (textField.tag==0) {
- [self moveView:20];
- }
- if (textField.tag==1)
- {
- [self moveView:60];
- }
- }
- -(void)moveView:(float)move{
- NSTimeInterval animationDuration = 0.30f;
- CGRect frame = self.view.frame;
- frame.origin.x +=move;//view的X轴上移
- self.view.frame = frame;
- [UIView beginAnimations:@"ResizeView" context:nil];
- [UIView setAnimationDuration:animationDuration];
- self.view.frame = frame;
- [UIView commitAnimations];//设置调整界面的动画效果
- }
有好几个输入框时,这里是用输入框的tag属性来判断用户点击了那个输入框,前提是你必须先要给tag赋值。这种判断方法对于tableView中嵌入许多的对话框特别有效。
还有一种方法就是已经知道了各个输入框的名字,利用名字去判断用户点击了那个输入框。
只有知道用户点击了那个输入框,才能确定该输入框要移动多少距离。
0 0
- iOS 解决键盘挡住输入框的问题
- IOS 解决键盘挡住输入框的问题
- [iOS]解决键盘弹出时挡住输入框的问题
- iOS 解决键盘挡住输入框的问题
- IOS 解决键盘挡住输入框的问题
- IOS 解决键盘挡住输入框的问题
- iOS 解决键盘挡住输入框的问题
- IOS 解决键盘挡住输入框的问题
- ios 解决键盘挡住输入框的问题
- IOS解决键盘挡住输入框的问题
- 解决键盘挡住输入框的问题
- ios解决键盘挡住输入框的方法
- 解决虚拟键盘挡住了输入框的问题
- 解决输入框被键盘挡住的问题
- iOS键盘问题之挡住输入框
- IOS TextField弹出键盘挡住输入框的问题
- IOS TextField弹出键盘挡住输入框的问题(续)
- ios 解决键盘挡住UITextField的问题
- 使用axis1+spring+hibernate搭建webservice框架
- The Decorator Pattern 装饰者模式
- 使用TeaJs制作Rpg游戏-无耻发布
- 谨慎使用STL中的erase操作!
- 设计模式学习总结(18) 命令模式
- IOS 解决键盘挡住输入框的问题
- 在Windows下编译FFmpeg详细说明
- IOS学习笔记36—解决键盘遮挡输入框(UITextField)问题
- 浅析企业该怎么做事件营销
- Android AES算法示例
- JAVA责任链模式在请假环节中的应用
- 泛型C#
- HDU 1280 前m大的数(hash)
- c++ 智能指针及 循环引用问题