如何通过代码或用户更改UITextFeild的文本时,如何收到通知?

时间:2016-03-22 04:25:31

标签: ios uitextfield uitextview

通常我们会通过UITextFieldTextDidChangeNotificationeditingDidChange:textField:shouldChangeCharactersInRange:replacementString:等通知UITextField的文字更改。但是当代码更改UITextField时,它们都不会被触发,例如{ {1}}

我发现通常我需要一个由代码和用户激活的回调。例如,当我需要相应地验证输入和启用/禁用提交按钮时,我需要更改UITextView的高度以适应其内容......

现在我必须明确地调用处理程序。有什么办法可以救我免受麻烦吗?提前致谢!

1 个答案:

答案 0 :(得分:0)

你可以试试这个......

1.获取UITextfield的全局变量

2.给你的文本字段添加标签

3.并在任何文本字段委托方法中分配变量,并根据需要使用它。

检查这个例如。

@interface ViewController ()

{
 UITextField * actvieField;
}

- (void)viewDidLoad
{
  [super viewDidLoad];
  self.firstTextField.tag = 1;
  self.secondTextField.tag = 2;
  self.thirdTextField.tag = 3;
}

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
 {
  actvieField = textField;
 if (actvieField.tag == 1)
{
   //Do what you want 
}

  return YES;
}