在我的具體情況下,如何識別或知道在shouldChangeCharactersInRange方法中引用了哪個UITextField?如何識別或知道方法中引用哪個控件?
我知道參數(UITextField *)textField包含被引用的對象,但我如何比較以確定它是哪一個?
在我的具體情況下,如何識別或知道在shouldChangeCharactersInRange方法中引用了哪個UITextField?如何識別或知道方法中引用哪個控件?
我知道參數(UITextField *)textField包含被引用的對象,但我如何比較以確定它是哪一個?
,如果您使用IB那麼你就可以在你的控制器每個UI元素創建IBOutlet
你的接口,然後連接在IB後來與他們比較textField
參數:
//header
IBOutlet UITextField* nameField;
IBOutlet UITextField* addressField;
//Implementation
...
if (textField == nameField){
}
if (textField == addressField){
}
2在IB中,您還可以爲每個UITextField
(適用於每個UIView子類)分配一個唯一標記值,並比較標記值:
#define nameTag 10
#define addressTag 11
//Implementation
...
if (textField.tag == nameTag){
}
if (textField.tag == addressTag){
}
最優雅的解決方案是使用界面構建器/故事板中的標籤,爲每個文本字段分配標籤。
然後使用一個開關(textfield.tag)的情況下在你的代碼,代碼看起來比投入大量的if語句
呸你打我給它再次弗拉基米爾:) – willcodejavaforfood 2010-05-21 08:42:33
啊!我忘了標籤乾淨多了,但我想要一個更好的方式來做到這一點。我不知道我只能比較參考名稱。謝謝弗拉基米爾。 – 2010-05-21 08:55:35