UITextField控件处理键盘弹出时遮住输入框的问题。
来源:互联网 发布:风险评估矩阵怎么填 编辑:程序博客网 时间:2024/06/05 13:27
实现以下三个方法,如果弹出的键盘会遮住输入框 ,整体的界面会向上移动,这样就不会遮住输入框了。自己增加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及密文設定的问题)(实例)
- 解决Ogre的渲染窗口無法固定大小,隨著MainWindow的變化而變化
- 二极管知识
- 统计数字
- 电阻
- ASP.net禁止表单记忆之前录入的信息
- UITextField控件处理键盘弹出时遮住输入框的问题。
- English interview questions for QA tester
- 电容知识
- Linux环境进程间通信
- _T() 函数
- weblogic8.1 下载地址
- mysql索引
- 个人性格
- POWERPCB内层正负片设置和内电层分割