我正在寻找一种识别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语句。
我已经阅读了无数线程试图找到解决方案,非常感谢您的帮助。
如果您有任何疑问,请随时提出。
谢谢, 德纳
答案 0 :(得分:1)
if ([myFirstTextField isFirstResponder]) {
i = myFirstTextField.tag;
}
else if ([mySecondTextField isFirstResponder]) {
i = mySecondTextField.tag;
}
...
这就是答案,我赢了!我正在使用此if语句来检查当前文本字段是否为FirstResponder。