TextField随键盘弹出上移

原创
2016/06/21 22:01
阅读数 216

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;

展开阅读全文
加载中
点击加入讨论🔥(1) 发布并加入讨论🔥
1 评论
2 收藏
0
分享
返回顶部
顶部