在iOS开发过程当中,遇到关于键盘遮挡输入框的问题,经过网络参考与实践,总结如下:
登录窗口,上下放置两个UITextField,一个用户名,一个密码,放置的在屏幕下方1/3处,当点击用户名时,自动弹出键盘,正好挡住了输入框
解决思路:
1、BLoginViewController 实现UITextViewDelegate的方法
//实现了UITextFieldDelegate中的方法,当对TextField进行编辑即键盘弹出时,自动将输入框上移
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
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;
//上移n个单位,按实际情况设置
CGRect rect=CGRectMake(0.0f,-,width,height);
self.view.frame=rect;
[UIView commitAnimations];
return YES;
}
2、为输入框设置代理
- (void)viewDidLoad
{
[super viewDidLoad]; //状态栏白色字体
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; UIColor *btnBgColor = [UIColor colorWithWhite:1.0f alpha:1.0];
[_buttonLogin setBackgroundColor:btnBgColor]; //为输入框添加代理
_textFieldUserName.delegate = self;
_textFieldPassword.delegate = self; }
效果:
参考:http://blog.csdn.net/ryantang03/article/details/8203605