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