修改我對iPhone的iOS 4和Xcode的一個項目4我怎麼知道,如果一個的UITextField的文章已經被用戶
有知道的方法,如果爲UITextField文本公頃被修改由用戶?
例如,我有2個UITextField,textFieldA和textFieldB,並假設textField包含一些文本爲「abc」。
用戶首先點擊textFieldA(鍵盤打開),然後點擊textFieldB。如何知道textFieldA中的文本是否已被用戶修改?
謝謝。
修改我對iPhone的iOS 4和Xcode的一個項目4我怎麼知道,如果一個的UITextField的文章已經被用戶
有知道的方法,如果爲UITextField文本公頃被修改由用戶?
例如,我有2個UITextField,textFieldA和textFieldB,並假設textField包含一些文本爲「abc」。
用戶首先點擊textFieldA(鍵盤打開),然後點擊textFieldB。如何知道textFieldA中的文本是否已被用戶修改?
謝謝。
如何:首先訂閱文本字段代表在你的頭文件與:
<UITextFieldDelegate>
然後在實現文件(.M)的地方,你可以添加: myTextField.delegate = self;
現在你可以訪問文本字段的委託方法。這意味着您現在可以使用:
-(void)textFieldDidBeginEditing:(UITextField *)textField
和-(void)textFieldDidEndEditing:(UITextField *)textField
爲什麼不是你的文本字段的值存儲在textFieldDidBeginEditing和比較,它在textFieldDidEndEditing的價值? `
您將不得不實施uitextfielddelegate
協議。檢查文檔以獲取更多詳細信息。
更好的是讓文本字段發送UIControlEventValueChanged
動作消息到您的控制器。這樣您就不需要懷疑用戶是否實際編輯了文本字段。您可以絲IB目標/行動或做編程:
[myTextField addTarget:self
action:@selector(textFieldValueChanged:)
forControlEvents:UIControlEventValueChanged];
然後實現目標的適當行動:
- (IBAction)textFieldValueChanged:(UITextField *)sender {
// text field value was changed
}
這更詳細的this question
討論將動作連接到文本字段並選擇「值已更改」事件,然後每當用戶更改文本字段的值(文本)時,將執行動作