我陷入UITtextfield
文本問題。這是一個分割視圖應用程序,詳細視圖是具有自定義單元格的表格視圖。在自定義單元格中,我有一個文本框,當我點擊文本框時,它將導航到另一個具有值列表的表格,我需要從中選擇一個值。如何檢查uitextfields文本時,文本填充某種方式沒有鍵盤?
我的問題是當我點擊主視圖中的一行時,我需要檢查是否有任何文本字段的文本已更改。如果是的話,我正在向用戶顯示一個警報視圖,說「你想要保存一些變化嗎?」。
我陷入UITtextfield
文本問題。這是一個分割視圖應用程序,詳細視圖是具有自定義單元格的表格視圖。在自定義單元格中,我有一個文本框,當我點擊文本框時,它將導航到另一個具有值列表的表格,我需要從中選擇一個值。如何檢查uitextfields文本時,文本填充某種方式沒有鍵盤?
我的問題是當我點擊主視圖中的一行時,我需要檢查是否有任何文本字段的文本已更改。如果是的話,我正在向用戶顯示一個警報視圖,說「你想要保存一些變化嗎?」。
試試這個:
[[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];
被編程設定,或者在界面生成器,通過在控制的NSTextField可用委託出口。
請注意,如果有多個控件掛鉤到同一個委託,那麼將爲每個控件發送-controlTextDidChange:即爲不同的控件調用相同的方法。如果您想要根據控件中文本發生更改的不同行爲,可以使用 - [NSNotification對象]來標識發送通知的控件。
舉例來說,如果你有相應的網點名稱字段和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].
它適用於iOS。 NSTextField ...不在iOS中。 – Amit89
感謝您的答覆。我嘗試了這種方法,但它對我無效。 – Amit89
它可以工作,如果你正在用鍵盤改變文本。 – Amit89