Iphone 如何识别或知道方法中引用了哪个控件?
在我的具体案例中,如何识别或知道shouldChangeCharactersRange方法中引用了哪个UITextField 我知道参数(UITextField*)textField包含被引用的对象,但如何比较以确定它是哪一个Iphone 如何识别或知道方法中引用了哪个控件?,iphone,Iphone,在我的具体案例中,如何识别或知道shouldChangeCharactersRange方法中引用了哪个UITextField 我知道参数(UITextField*)textField包含被引用的对象,但如何比较以确定它是哪一个 如果使用IB创建界面,则可以在控制器中为每个UI元素创建IBOutlet,然后在IB中连接,然后将textField参数与它们进行比较: //header IBOutlet UITextField* nameField; IBOutlet UITextField* add
IBOutlet
,然后在IB中连接,然后将textField
参数与它们进行比较:
//header
IBOutlet UITextField* nameField;
IBOutlet UITextField* addressField;
//Implementation
...
if (textField == nameField){
}
if (textField == addressField){
}
UITextField
(可用于每个UIView子类)分配唯一的标记值,并比较标记值:
#define nameTag 10
#define addressTag 11
//Implementation
...
if (textField.tag == nameTag){
}
if (textField.tag == addressTag){
}
最优雅的解决方案是使用interface builder/storyboard中的标记,为每个文本字段分配标记
然后在代码中使用一个switch(textfield.tag)框,代码看起来比放很多if语句要干净得多Bah你又一次打败了我弗拉基米尔:)啊,我忘了标记,但我想用更好的方法来做。我没有意识到我可以只比较参考名称。谢谢你,弗拉基米尔。