0

我正在生成 4 个动态 UITextField,全部带有返回键类型,当我按下下一步时,焦点将转移到下一个 UITextField,但我想要的是当第 4 个 UITextField 获得焦点时,它的返回键类型必须更改为Done按下时必须放弃第一响应者。

为了实现"next"功能,我正在使用此代码

NSUInteger currentIndex = [Feilds1Array indexOfObject:textField];
        if(currentIndex>=Feilds1Array.count-1)
        {

            NSLog(@"change return key type...");
        }
        else
        {
            UITextField* nextTextField1 = (UITextField*)Feilds1Array[currentIndex+1] ;
            [nextTextField1 becomeFirstResponder] ;
        }

这可能是一个简单的,但我无法弄清楚,因为我是一个新手
,所以请帮助我
提前谢谢...

4

4 回答 4

0

这样做,

在您的 textField 委托方法中,

使用标签值或您已经做的那样访问第 4 个文本字段,

- (void)textFieldDidBeginEditing:(UITextField *)textField {

    if([textField isEqual:textField4]) 
         textField4.returnKeyType = UIReturnKeyDone;
}

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

    if([textField isEqual:textField4]) 
         [textField resignFirstResponder];

    return YES;
}
于 2013-05-22T06:18:04.880 回答
0
textField.returnKeyType = UIReturnKeyDone;
于 2013-05-22T06:04:54.833 回答
0

如果您的文本字段是由 xib 在这种情况下生成的,您需要在 xib 中设置最后一个文本字段的返回键Done。见下图

在此处输入图像描述

否则

NSUInteger currentIndex = [Feilds1Array indexOfObject:textField];
        if(currentIndex>=Feilds1Array.count-1)
        {

            NSLog(@"change return key type...");

             UITextField* nextTextField1 = (UITextField*)Feilds1Array[currentIndex+1] ;
             nextTextField1.returnKeyType = UIReturnKeyDone;
             [nextTextField1 becomeFirstResponder] ;
        }
        else
        {
            UITextField* nextTextField1 = (UITextField*)Feilds1Array[currentIndex+1] ;
            [nextTextField1 becomeFirstResponder] ;
        }
于 2013-05-22T06:06:00.597 回答
0

如果您是UITextField动态创建,则可以将属性设置为

textfieldName.returnKeyType = UIReturnKeyDone;

在您的情况下,您可以将上述属性设置为第 4 个文本字段。

于 2013-05-22T06:07:02.820 回答