1

我的观点有两个UITextField,都与我的方法有关

- (IBAction)showContactPicker:(id)sender;

现在我想用给定的发件人更改文本字段的值。

我怎样才能做到这一点?

4

2 回答 2

3

发件人是 UITextField。将其转换为新的 UITextField 变量并使用它。

 UITextField *theTextField = (UITextField *)sender;

您还可以 IBOutlet 将它们作为实例变量并将它们与 == 的发送者进行比较。

于 2013-08-25T14:10:44.213 回答
2

您可以通过使用标签来完成此操作。在情节提要中,给每个文本字段一个标签,可以在属性检查器下访问该标签。

在此处输入图像描述

在一个文本字段中将其设置为 1,在另一个文本字段中设置为 2。

Sender 是 id 类型,这意味着它可以是任何对象。由于您知道发送者将是 UITextField,因此您必须通过强制转换来告诉编译器您正在使用 UITextField。为此,您在 showContactPicker: 方法中说

UITextField *newTextField = (UITextField *)sender;

这告诉编译器你保证 sender 变量将是一个指向 UITextField 的指针。

在这之后,你可以说

if (sender.tag == 1) {
    //Change the slider corresponding to the first textfield
} else if (sender.tag == 2) {
    //Change the slider corresponding to the second textfield
}
于 2013-08-25T14:02:13.520 回答