UITextField控件处理键盘弹出时遮住输入框的问题。
来源:互联网 发布:unity3d 在线更新 编辑:程序博客网 时间:2024/05/29 04:12
实现以下三个方法,如果弹出的键盘会遮住输入框 ,整体的界面会向上移动,这样就不会遮住输入框了。自己增加UITextFieldDelegate委托。
只适合iPhone,如果想要支持iPad,只要把216改成iPad上面键盘的高度即可。
- (void)keyboardWillShow:(NSNotification *)noti
{
//键盘输入的界面调整
//键盘的高度
float height = 216.0;
CGRect frame = self.view.frame;
frame.size = CGSizeMake(frame.size.width, frame.size.height - height);
[UIView beginAnimations:@"Curl"context:nil];//动画开始
[UIView setAnimationDuration:0.30];
[UIView setAnimationDelegate:self];
[self.view setFrame:frame];
[UIView commitAnimations];
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
// When the user presses return, take focus away from the text field so that the keyboard is dismissed.
NSTimeInterval animationDuration = 0.30f;
[UIView beginAnimations:@"ResizeForKeyboard" context:nil];
[UIView setAnimationDuration:animationDuration];
CGRect rect = CGRectMake(0.0f, 0.0f, self.view.frame.size.width, self.view.frame.size.height);
self.view.frame = rect;
[UIView commitAnimations];
[textField resignFirstResponder];
return YES;
}
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
CGRect frame = textField.frame;
int offset = frame.origin.y + 32 - (self.view.frame.size.height - 216.0);//键盘高度216
NSTimeInterval animationDuration = 0.30f;
[UIView beginAnimations:@"ResizeForKeyBoard" context:nil];
[UIView setAnimationDuration:animationDuration];
float width = self.view.frame.size.width;
float height = self.view.frame.size.height;
if(offset > 0)
{
CGRect rect = CGRectMake(0.0f, -offset,width,height);
self.view.frame = rect;
}
[UIView commitAnimations];
}
只适合iPhone,如果想要支持iPad,只要把216改成iPad上面键盘的高度即可。
- (void)keyboardWillShow:(NSNotification *)noti
{
//键盘输入的界面调整
//键盘的高度
float height = 216.0;
CGRect frame = self.view.frame;
frame.size = CGSizeMake(frame.size.width, frame.size.height - height);
[UIView beginAnimations:@"Curl"context:nil];//动画开始
[UIView setAnimationDuration:0.30];
[UIView setAnimationDelegate:self];
[self.view setFrame:frame];
[UIView commitAnimations];
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
// When the user presses return, take focus away from the text field so that the keyboard is dismissed.
NSTimeInterval animationDuration = 0.30f;
[UIView beginAnimations:@"ResizeForKeyboard" context:nil];
[UIView setAnimationDuration:animationDuration];
CGRect rect = CGRectMake(0.0f, 0.0f, self.view.frame.size.width, self.view.frame.size.height);
self.view.frame = rect;
[UIView commitAnimations];
[textField resignFirstResponder];
return YES;
}
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
CGRect frame = textField.frame;
int offset = frame.origin.y + 32 - (self.view.frame.size.height - 216.0);//键盘高度216
NSTimeInterval animationDuration = 0.30f;
[UIView beginAnimations:@"ResizeForKeyBoard" context:nil];
[UIView setAnimationDuration:animationDuration];
float width = self.view.frame.size.width;
float height = self.view.frame.size.height;
if(offset > 0)
{
CGRect rect = CGRectMake(0.0f, -offset,width,height);
self.view.frame = rect;
}
[UIView commitAnimations];
}
- [UI控件问题] UITextField控件处理键盘弹出时遮住输入框的问题
- UITextField控件处理键盘弹出时遮住输入框的问题。
- UITextField控件处理键盘弹出时遮住输入框的问题。
- UITextField控件处理键盘弹出时遮住输入框的问题(Andy)
- UITextField控件处理键盘弹出时遮住输入框的问题。
- UITextField控件处理键盘弹出时遮住输入框的问题
- IOS开发键盘弹出时遮住输入框的问题
- iOS开发键盘弹出时遮住输入框的问题
- IOS开发键盘弹出时遮住输入框的问题
- IOS开发键盘弹出时遮住输入框的问题的一种解决方法。
- 滚动视图 解决弹出键盘遮住输入框的问题 实例解析
- 使用KeyBoardUtil处理软键盘的弹出遮住输入框的问题
- UITextField 文本字段控件及解决键盘遮住View的问题(实例)
- UITextField 文本字段控件 -- IOS (解决键盘遮住View及密文設定的问题)(实例)
- UITextField 文本字段控件 -- IOS (解决键盘遮住View及密文設定的问题)(实例)
- UITextField 文本字段控件 -- IOS (解决键盘遮住View及密文設定的问题)(实例)
- UITextField 文本字段控件 -- IOS (解决键盘遮住View及密文設定的问题)(实例)
- UITextField 文本字段控件 -- IOS (解决键盘遮住View及密文設定的问题)(实例)
- iPhone调用发短信,电话,邮件,提示框的方法之一
- linux 新学的各种命令
- JSP有哪些内置对象和动作?它们的作用分别是什么?
- Android单元测试与日志输出
- 2011年度总结
- UITextField控件处理键盘弹出时遮住输入框的问题。
- vi编辑器
- 判断UITextField的输入只为数字的方法
- JSP中动态include与静态include的区别
- Linux 中的查找
- 分享一个jQuery动态网格布局插件:Masonry
- matlab与excel xlsread、xlswrite实用方法
- linux下gdb单步调试(上)转载
- CUDA学习之cuda在VS2005下的安装配置