更改上次动态生成的文本字段的返回键类型

时间:2013-05-22 06:00:35

标签: iphone ios objective-c cocoa-touch

我正在生成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 个答案:

答案 0 :(得分:0)

textField.returnKeyType = UIReturnKeyDone;

答案 1 :(得分:0)

如果你的文本字段是由xib生成的,那么你需要在xib Done中设置最后一个文本字段的返回键。见下图

enter image description here

其他明智的

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] ;
        }

答案 2 :(得分:0)

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

textfieldName.returnKeyType = UIReturnKeyDone;

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

答案 3 :(得分: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;
}