簡體   English   中英

我如何知道UITextField的文本是否已被用戶修改

[英]How do I know if the text of a UITextField has been modified by user

我正在為iPhone iOS 4和Xcode 4開發一個項目。

有一種方法可以知道用戶是否修改了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中的值進行比較? `

最好讓文本字段將UIControlEventValueChanged操作消息發送到您的控制器。 這樣,您無需懷疑用戶是否實際編輯了文本字段。 您可以在IB中連接目標/操作,也可以通過編程方式進行操作:

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

然后在目標中執行適當的操作:

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

這更詳細的討論這個問題

將操作連接到文本字段並選擇“值已更改”事件,然后每次用戶更改文本字段的值(文本)時,將執行該操作

您將必須實現uitextfielddelegate協議。 查看文檔以獲取更多詳細信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM