ios - 为 UITextField 创建一个通用的下一步按钮

标签 ios objective-c for-loop tags uitextfield

我正在尝试创建一个使用 textField 标签的下一步按钮。 我在 void 类型方法中有这个:

for (UITextField *textField in self.view.subviews)
{
    if ([textField isKindOfClass:[UITextField class]])
    {
        if([textField isFirstResponder])
        {
            int i = _textFieldTag;  //starts as 0

            [[textField viewWithTag:i] resignFirstResponder];
            NSString *a = [(UITextField *)[textField viewWithTag:i] text];
            NSLog(@"TEXT 01 - %@", a);

            i = i + 1;
            NSLog(@"TAG 02 - %i", i);

            [[textField viewWithTag:i] becomeFirstResponder];
            NSString *b = [(UITextField *)[textField viewWithTag:i] text];
            NSLog(@"TEXT 02 - %@", b);
        }
    }
}

问题是即使 i 递增 1,NSString *b 返回 nil 并且不会像我期望的那样使 textField 成为下一个响应者。

它们在那里,标签存在,但不知何故 i 的新值不被接受。

有什么想法吗?

最佳答案

尝试替换您的所有电话:

[textField viewWithTag:i]

到:

[self.view viewWithTag:i]

您应该向 View 询问 viewWithTag 而不是 UITextField。

关于ios - 为 UITextField 创建一个通用的下一步按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20765299/

相关文章:

Python,遍历 Excel 电子表格

java - 结果没有初始化?

iOS 应用内语言更改

iphone - NSString @"\"添加反斜杠字符 objective-c

javascript - 将数组编号 2 和 3 访问到一个字符串数组中

objective-c - UIscrollView DidScroll - 仅在触摸时

ios - 启动时黑屏,但按主页按钮再次进入应用程序时正常

ios - 在所有 View Controller 中使用 viewDidLoad 还是在主视图 Controller 中使用多个 UIView 更好?

iphone - 用于旋转、调整大小、在 UIView 边缘移动的 UIGestureRecognizer

ios - 打开和关闭 UINavigationController