Ios 在没有键盘的情况下,以某种方式填充文本时,如何检查uitextfields文本?

Ios 在没有键盘的情况下,以某种方式填充文本时,如何检查uitextfields文本?,ios,uitextfield,Ios,Uitextfield,我陷入了一个UITextField文本问题。这是一个拆分视图应用程序,详细视图是具有自定义单元格的表格视图。在自定义单元格中,我有一个textfield,当我点击textfield时,它将导航到另一个具有值列表的表,我需要从中选择一个值 我的问题是,当我在主视图中点击一行时,我需要检查是否有任何textfield的文本发生了更改。如果是,我将向用户显示一个警报视图,告诉用户存在某些更改,是否要保存它?用户,或 试试这个: [[NSNotificationCenter defaultCenter]

我陷入了一个UITextField文本问题。这是一个拆分视图应用程序,详细视图是具有自定义单元格的表格视图。在自定义单元格中,我有一个textfield,当我点击textfield时,它将导航到另一个具有值列表的表,我需要从中选择一个值

我的问题是,当我在主视图中点击一行时,我需要检查是否有任何textfield的文本发生了更改。如果是,我将向用户显示一个警报视图,告诉用户存在某些更改,是否要保存它?

用户,或

试试这个:

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

您可以使用:UITextFieldTextDidBeginEditingNotification或uitextfieldtextdideditingnotification

您可以为NSTextField实例设置委托,并让委托实现以下方法:

- (void)controlTextDidChange:(NSNotification *)notification 
{
    // there was a text change in some control
}
委托对象可以是应用程序委托、窗口控制器、视图控制器或应用程序中的其他对象。可以通过编程方式设置代理

[myTextField setDelegate:delegateObject];
或者,在Interface Builder中,通过NSTextField控件中可用的代理出口

请注意,如果有多个控件连接到同一委托,则将为每个控件发送-controlTextDidChange:,即,为不同的控件调用相同的方法。如果您希望根据文本已更改的控件的不同行为,可以使用-[NSNotification object]标识发送通知的控件

例如,如果您有两个文本字段,分别具有对应的outlets 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]。

谢谢您的回复。我尝试了这种方法,但对我无效。它是否适用于iOS。NSTextField。。。不是在iOS中。