iOS回收键盘小见

来源:互联网 发布:蛇蛇争霸网络不稳定 编辑:程序博客网 时间:2024/05/17 07:31

<UITextFieldDelegate>这个必须得写,,,啥也不说了。。。


/iphone5判断

#ifndef DEVICE_IS_IPHONE5

#define DEVICE_IS_IPHONE5 ([[UIScreen mainScreen] bounds].size.height ==568)

#endif


//iphone4判断

#ifndef DEVICE_IS_IPHONE4

#define DEVICE_IS_IPHONE4 ([[UIScreen mainScreen] bounds].size.height ==480)

#endif

这玩意得判断下  破手机  是什么 型号的,,6+以上就不用说了,  主要是为了  5——  哎。。。

惆怅ing、、、、


#pragma mark ----   UITextFieldDelegate




- (void)textFieldDidBeginEditing:(UITextField *)textField

{

    if (DEVICE_IS_IPHONE4) {

        CGRect rect =self.view.frame;

        NSUInteger offsetY =100;

        if (textField ==_userPswField) {

            offsetY = 130;

        }

        rect.origin.y -= offsetY;

        [UIViewanimateWithDuration:0.2animations:^{

            self.view.frame = rect;

        } completion:nil];

    }

}


- (void)textFieldDidEndEditing:(UITextField *)textField

{

    if (DEVICE_IS_IPHONE4) {

        CGRect rect =self.view.frame;

        rect.origin.y =0;

        [UIViewanimateWithDuration:0.2animations:^{

            self.view.frame = rect;

        } completion:nil];

    }

}


//自己写的textField让这玩意遵循下 UITextFieldDelegate 代理方法  即可,,,


//触摸屏幕空白部分  回收键盘  即可,

//前提是背景为UIView  这个必须的!!!

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event

{

    

    if ((![self.registV.phoneTextFieldisExclusiveTouch]) || (![self.registV.sendTextFieldisExclusiveTouch]) ||(![self.registV.passwordTextFieldisExclusiveTouch])) {

        [self.registV.passwordTextFieldresignFirstResponder];

        [self.registV.phoneTextFieldresignFirstResponder];

        [self.registV.sendTextFieldresignFirstResponder];

    }

    

}


//回收的代理方法。。。

- (BOOL)textFieldShouldReturn:(UITextField *)textField

{

    [textField resignFirstResponder];

    returnNO;

}





0 0