簡體   English   中英

不使用鍵盤以某種方式填充文本時,如何檢查uitextfields文本?

[英]How to check uitextfields text when text filled by some way without keyboard?

我陷入了UITtextfield文本問題。 這是一個拆分視圖應用程序,詳細視圖是具有自定義單元格的表視圖。 在“自定義”單元格中,我有一個文本字段,當我點擊該文本字段時,它將導航到另一個具有值列表的表,我需要從中選擇一個值。

我的問題是,當我在主視圖中點擊一行時,我需要檢查任何文本字段的文本是否已更改。 如果是,我向用戶顯示一個警報視圖,說“您是否要保存某些更改?”。

用戶UITextFieldDelegate ,或

嘗試這個:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(methodNothing)
 name:UITextFieldTextDidChangeNotification object:myTextField];

您可以使用: UITextFieldTextDidBeginEditingNotificationUITextFieldTextDidEndEditingNotification

您可以為您的NSTextField實例設置一個委托,並讓該委托實現以下方法:

- (void)controlTextDidChange:(NSNotification *)notification 
{
    // there was a text change in some control
}

您的委托對象可以是應用程序委托,窗口控制器,視圖控制器或應用程序中的某些其他對象。 可以通過編程方式設置代表

[myTextField setDelegate:delegateObject];

或者,在Interface Builder中,通過NSTextField控件中可用的委托出口。

請注意,如果有多個控件掛接到同一委托,則-controlTextDidChange:將為每個控件發送,即,對不同控件調用相同的方法。 如果要根據文本已更改的控件采取不同的行為,則可以使用-[NSNotification對象]標識發送通知的控件。

例如,如果您有兩個帶有相應出口nameField和addressField的文本字段,並且為兩個字段設置了相同的委托,則:

- (void)controlTextDidChange:(NSNotification *)notification {
    // there was a text change in some control
    // [notification object] points to the control that has sent
    // the notification

    if ([notification object] == nameField) {
        // nameField has changed
    }
    else if ([notification object] == addressField) {
        // addressField has changed
    }
}

另外,每個文本字段可以有一個委托。 在這種情況下,無需測試[notification object].

暫無
暫無

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

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