希望在UIView中找到当前UITextField的标记值,多个UITextFields

时间:2011-04-07 22:08:00

标签: uitextfield

我正在寻找一种识别UITextField标记值的方法。我创建了一个追加字符串“1”的按钮。请阅读以下内容,以便您清楚地了解该问题。

最初这是我的代码:

-(void)two:(id)sender {
NSString *myS = [NSString stringWithFormat:@"%@2", textField.text];
textField.text = myS;

}

如果我在视图中只有一个UITextField(通过在视图中将textField出口连接到UITextField),上面的代码就可以工作。但问题是我在视图中有 6个textfields ,经过一些研究后我决定使用textfield的tag值是最好的解决方案。这是我试图使用的代码:

-(IBAction) one:(id)sender {
NSInteger i = [sender tag];
switch (i) {
    case 1:
        myS = [NSString stringWithFormat:@"%@1", diameterTextField.text];
        diameterTextField.text = myS;
        break;
    case 2:
        myS = [NSString stringWithFormat:@"%@1", roughnessTextField.text];
        roughnessTextField.text = myS;
        break;
    case 3:
        myS = [NSString stringWithFormat:@"%@1", slopeTextField.text];
        slopeTextField.text = myS;
        break;
    case 4:
        myS = [NSString stringWithFormat:@"%@1", depthTextField.text];
        depthTextField.text = myS;
        break;
    case 5:
        myS = [NSString stringWithFormat:@"%@1", velocityTextField.text];
        velocityTextField.text = myS;
        break;
    case 6:
        myS = [NSString stringWithFormat:@"%@1", flowTextField.text];
        flowTextField.text = myS;
        break;

        default:
        break;
}

}

使用断点我注意到NSInteger i被分配了UIButton的发送者标签(IBAction一个连接到此按钮)而不是UItextField。所以我的问题是,有没有办法获取用户点击的文本字段的标记值?一旦用户单击该字段并单击UIButton,我希望代码找到标记值并运行switch语句。

我已经阅读了无数线程试图找到解决方案,非常感谢您的帮助。

如果您有任何疑问,请随时提出。

谢谢, 德纳

1 个答案:

答案 0 :(得分:1)

if ([myFirstTextField isFirstResponder]) {
   i = myFirstTextField.tag;
}
else if ([mySecondTextField isFirstResponder]) {
   i = mySecondTextField.tag;
}
...

这就是答案,我赢了!我正在使用此if语句来检查当前文本字段是否为FirstResponder。