2011-08-09 147 views
0

修改我對iPhone的iOS 4和Xcode的一個項目4我怎麼知道,如果一個的UITextField的文章已經被用戶

有知道的方法,如果爲UITextField文本公頃被修改由用戶?

例如,我有2個UITextField,textFieldA和textFieldB,並假設textField包含一些文本爲「abc」。

用戶首先點擊textFieldA(鍵盤打開),然後點擊textFieldB。如何知道textFieldA中的文本是否已被用戶修改?

謝謝。

回答

5

如何:首先訂閱文本字段代表在你的頭文件與:
<UITextFieldDelegate>

然後在實現文件(.M)的地方,你可以添加: myTextField.delegate = self;

現在你可以訪問文本字段的委託方法。這意味着您現在可以使用:

-(void)textFieldDidBeginEditing:(UITextField *)textField 

-(void)textFieldDidEndEditing:(UITextField *)textField

爲什麼不是你的文本字段的值存儲在textFieldDidBeginEditing和比較,它在textFieldDidEndEditing的價值? `

0

您將不得不實施uitextfielddelegate協議。檢查文檔以獲取更多詳細信息。

0

更好的是讓文本字段發送UIControlEventValueChanged動作消息到您的控制器。這樣您就不需要懷疑用戶是否實際編輯了文本字段。您可以絲IB目標/行動或做編程:

[myTextField addTarget:self 
       action:@selector(textFieldValueChanged:) 
     forControlEvents:UIControlEventValueChanged]; 

然後實現目標的適當行動:

- (IBAction)textFieldValueChanged:(UITextField *)sender { 
    // text field value was changed 
} 

這更詳細的this question

0

討論將動作連接到文本字段並選擇「值已更改」事件,然後每當用戶更改文本字段的值(文本)時,將執行動作

相關問題