我的视图中有两个UITextField
,两者都与我的方法
- (IBAction)showContactPicker:(id)sender;
现在我想用给定的发件人更改文本字段的值。
我该怎么做?
答案 0 :(得分:3)
Sender是UITextField。将其转换为新的UITextField变量并使用它。
UITextField *theTextField = (UITextField *)sender;
您也可以将它们实例化为实例变量,并将它们与==的发送者进行比较。
答案 1 :(得分:2)
您可以使用标记来完成此操作。在storyboard中,为每个文本字段提供一个标记,可以在属性检查器下访问该标记。
在一个文本字段中将其设置为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
}