[英]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];
您可以使用: UITextFieldTextDidBeginEditingNotification
或UITextFieldTextDidEndEditingNotification
您可以為您的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.