iOS--第一响应者-------键盘协议之一UITextFieldDelegate

来源:互联网 发布:js获取div的title属性 编辑:程序博客网 时间:2024/06/06 00:09

转载自:http://www.it165.net/pro/html/201404/12606.html



  • 1. 设置键盘的第一响应者后,便可通过点击TextField唤出键盘

    设置键盘第一响应者方法为:

    [textField becomeFirstResponder];//此时,textField 输入框则为当前键盘的第一响应者,故只要 textField失去第一响应者,键盘才会消失

    设置键盘失去第一响应者的方法为:

    [textField resignFirstResponder];//一般在设置点击按钮的相应事件内,或写在UIView的点击触发事件内(此时点击屏幕的任何地方都可响应)

    2. 假设一个QQ账号输入框,和一个密码输入框及登陆按钮

    当点击QQ输入框时,键盘响应,设置键盘右下角按钮为Next,点击Next后键盘第一响应者变为密码输入框,这个时候键盘右下角按钮变为Done,点击键盘消失

    a. 首先设置相应QQ输入框的右下角按钮为Next,代码为:

    [ _textField_QQsetReturnKeyType:UIReturnKeyNext ];

    然后设置密码输入框右下角按钮为Done,代码为:

    [ _textField_passwordsetReturnKeyType:UIReturnKeyDone ];


    b. 在textField的 .h 文件中加上<UITextFieldDelegate>协议,回到 .m 文件中实现 Return 按键的方法如下:

    - (BOOL)textFieldShouldReturn:(UITextField *)textField {

    if (textField == _textField_QQ) { // _textField_QQ和_textField_password已被设为属性,判断键盘的第一响应者,如果是QQ输入框

    return [_textField_password becomeFirstResponder]; //点击右下角的Next按钮,则将键盘第一响应者设为_textField_password,即密码输入框

    }else{

    return [_textField_password resignFirstResponder]; //否则(键盘第一响应者为密码输入框),则使键盘失去第一响应者,即消失

    }

    }



0 0