TextField随键盘弹出上移
第一步:签代理
<UITextFieldDelegate>
第二步:设置代理
self.txtUserName.delegate = self;
self.txtUserPwd.delegate = self;
第三步 :实现代理方法
//文本框将要开始编辑的时候
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
//键盘默认高度216
CGFloat offset=0;
if (textField == self.txtUserName)//用户名文本框
{
//返回按钮设置为下一步
textField.returnKeyType = UIReturnKeyNext;
offset = self.view.frame.size.height - (self.v_txt_BG.frame.origin.y+textField.frame.origin.y+textField.frame.size.height+216+130);
}
if (textField == self.txtUserPwd)//密码文本框
{
textField.returnKeyType = UIReturnKeyDone;
offset = self.view.frame.size.height - (self.v_txt_BG.frame.origin.y+textField.frame.origin.y+textField.frame.size.height+216+50);
}
if (offset<=0)
{
//改变视图位置
[UIView animateWithDuration:0.2 animations:^
{
//获取视图的frame
CGRect vframe = self.view.frame;
//改变视图的frame的y轴
vframe.origin.y = offset;
//重新设置视图的frame
self.view.frame = vframe;
}];
}
return YES;
}
//回收键盘
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
//如果文本框是用户名文本框,则调到密码文本框
if (textField == self.txtUserName)
{
[self.txtUserPwd becomeFirstResponder];
}
else
{
//视图位置还原
[UIView animateWithDuration:0.3 animations:^
{
CGRect vframe = self.view.frame;
vframe.origin.y = 0.0;
self.view.frame = vframe;
}];
//回收键盘
[self.txtUserPwd resignFirstResponder];
}
return YES;
}