求帮助 多个TextField中键盘的回收

iOS 码拜 9年前 (2015-11-13) 1149次浏览
求帮助 多个TextField中键盘的回收
有5个输入框,本人想从第一个开始,输入完,按键盘上的returen按钮,调到下一个输入框,到了第五个输入完成的时候,点击return回收键盘,讨教一下怎么实现
解决方案:3分
监控输入字符,假如输入字符是return,则让下一个textfield成为第一响应者,到最后一个textfield的时候监控到return按钮就
【self.view endEditing:YES】。试试看,本人也不知道行不行。
解决方案:5分
使用代理 ,最后用 resignFirstResponder  或 endEditing:YES  都可以。
解决方案:5分
使用代理 在实现代理方法中切换第一响应者,最后一个最后用 resignFirstResponder  或 endEditing:YES 
解决方案:5分
使用textfield的return代理方法,判断当前所处的textfield,假如不是最后一个,则把下一个textfield设为第一响应者(resignFirstResponder),假如是最后一个则关闭全部的键盘响应(endEditing:YES)
解决方案:10分
例如第一个叫a,第二个叫b,以此类推…
首先全部的textfield 都要写上 X.delegate = self 别忘了引入UITextFieldDelegate
加上如下代码:
– (BOOL)textFieldShouldReturn:(UITextField *)textField{
    if (textField == _a) {
        [_b becomeFirstResponder];
    }
    else if (textField == _b){
        [_c becomeFirstResponder];
    }
    else if (textField == _c){
        [_d becomeFirstResponder];
    }
    else if (textField == _d){
        [_e becomeFirstResponder];
    }
    
    else if (textField == _e){
        [self.view endEditing:YES];
    }
    return YES;
}
解决方案:12分
– (BOOL)textFieldShouldReturn:(UITextField *)textField{
    if ([textField isEqual:_textTA]) {
        [_textTB becomeFirstResponder];
    }
    else if ([textField isEqual:_textTB]){
        [_textTC becomeFirstResponder];
    }
    else if ([textField isEqual:_textTC]){
        [_textTC resignFirstResponder];
    }
    return YES;

主要还是这两句话的应用
        下一个输入text:
          [textField becomeFirstResponder];
        隐藏键盘:
          [textField resignFirstResponder];

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明求帮助 多个TextField中键盘的回收
喜欢 (0)
[1034331897@qq.com]
分享 (0)