如何更改给定发件人的UITextField的值

时间:2013-08-25 13:48:51

标签: ios objective-c uitextfield

我的视图中有两个UITextField,两者都与我的方法

相关联
- (IBAction)showContactPicker:(id)sender;

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

我该怎么做?

2 个答案:

答案 0 :(得分:3)

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

 UITextField *theTextField = (UITextField *)sender;

您也可以将它们实例化为实例变量,并将它们与==的发送者进行比较。

答案 1 :(得分:2)

您可以使用标记来完成此操作。在storyboard中,为每个文本字段提供一个标记,可以在属性检查器下访问该标记。

enter image description here

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

发件人的类型为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
}