键盘遮挡住输入框的问题
2015-12-30 11:22
387 查看
注册键盘弹起与收起通知
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
-(void)keyboardWillShow:(NSNotification *)note{
NSDictionary *info = [note userInfo];
CGSize keyboardSize = [[info objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue].size;
_keyBoardHeight = keyboardSize.height;
CGRect frame = _colorText.frame;
int offset = frame.origin.y + 32 - (self.view.frame.size.height -_keyBoardHeight);
NSTimeInterval animationDuration = 0.30f;
[UIView beginAnimations:@"ResizeForKeyboard" context:nil];
[UIView setAnimationDuration:animationDuration];
//将视图的Y坐标向上移动offset个单位,以使下面腾出地方用于软键盘的显示
if(offset > 0){
self.view.frame = CGRectMake(0.0f, -offset, self.view.frame.size.width, self.view.frame.size.height);
}
[UIView commitAnimations];
}
//点击return或者回车键键盘消失
-(BOOL)textFieldShouldReturn:(UITextField *)textField{
[textField resignFirstResponder];
return YES;
}
//输入完成后恢复视图
-(void)textFieldDidEndEditing:(UITextField *)textField{
NSTimeInterval animationDuration = 0.30f;
[UIView beginAnimations:@"ResizeForKeyboard" context:nil];
[UIView setAnimationDuration:animationDuration];
self.view.frame =CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
[UIView commitAnimations];
}
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
-(void)keyboardWillShow:(NSNotification *)note{
NSDictionary *info = [note userInfo];
CGSize keyboardSize = [[info objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue].size;
_keyBoardHeight = keyboardSize.height;
CGRect frame = _colorText.frame;
int offset = frame.origin.y + 32 - (self.view.frame.size.height -_keyBoardHeight);
NSTimeInterval animationDuration = 0.30f;
[UIView beginAnimations:@"ResizeForKeyboard" context:nil];
[UIView setAnimationDuration:animationDuration];
//将视图的Y坐标向上移动offset个单位,以使下面腾出地方用于软键盘的显示
if(offset > 0){
self.view.frame = CGRectMake(0.0f, -offset, self.view.frame.size.width, self.view.frame.size.height);
}
[UIView commitAnimations];
}
//点击return或者回车键键盘消失
-(BOOL)textFieldShouldReturn:(UITextField *)textField{
[textField resignFirstResponder];
return YES;
}
//输入完成后恢复视图
-(void)textFieldDidEndEditing:(UITextField *)textField{
NSTimeInterval animationDuration = 0.30f;
[UIView beginAnimations:@"ResizeForKeyboard" context:nil];
[UIView setAnimationDuration:animationDuration];
self.view.frame =CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
[UIView commitAnimations];
}
相关文章推荐
- 购物网站数据库表
- Android拍照得到全尺寸图片并进行压缩
- 【C++】类的使用
- android MediaPlayer SurfaceView 网络视频播放器
- OpenCV 2.4.9 +VS 2013 开发环境配置
- 读入并显示一幅图像—system generator
- kafka入门:简介、使用场景、设计原理、主要配置及集群搭建(转)
- Node: Updating npm's bundled node gyp
- 2015年十大热门Android开源新项目
- 关于Android开发里面的大部分图表
- GTK构件 tree_view
- 十二月份英语总结
- String.format的用法(字符串格式化)
- Android判断应用是否是从后台回到前台
- 代码原则三
- C#调用C++ Dll 并且实现联调
- 如何正确配置Nginx+PHP
- 1.1
- 简析堆和栈的区别,以及程序的内存分配
- 更改密钥对