如果文本字段的长度等于最大范围,则自动移动下一个文本字段的焦点

时间:2011-09-24 07:53:51

标签: iphone

嗨我需要文本字段我想将焦点从第一个文本字段自动移动到另一个文本字段

为此我使用以下代码

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    BOOL isValid = YES;

    NSInteger insertDelta = string.length - range.length;   
    if (textField.tag == 0) {
            if (textField.text.length + insertDelta >= 8)
        {
            [txtRxStoreNumber becomeFirstResponder];
            if (txtRxStoreNumber.text.length >= 5) {
                isValid = NO;
            }
        } 

    }else if (textField.tag == 1) {
        if (textField.text.length + insertDelta > 5)
        {
            isValid = NO;
        }   
        else if(textField.text.length + insertDelta == 0) {
            textField.text = @"";
            [txtRxItemNumber becomeFirstResponder];
            isValid = NO;
        }
    }

    return isValid; 
}

第一个textfield最大范围是7。

它正在运行,但问题是在输入第8个字符后,只有光标焦点移动到第二个文本字段。

如果只输入7个字符,则光标的焦点仅在第一个文本字段中。

输入第7个字符后,我想移动光标到第二个文本字段。

任何人都可以帮助我如何做到这一点。

1 个答案:

答案 0 :(得分:0)

第一个文本字段最大范围是7

但:

if (textField.text.length + insertDelta >= 8)

所以我会将上面一行更改为> = 7