【问题标题】:Detecting a change in one of two UITextFields检测两个 UITextField 之一的变化
【发布时间】:2013-05-03 13:51:15
【问题描述】:

我正在尝试检测两个UITextfields 之一是否有任何变化。两个文本字段有标签(1 和 2),初始值存储在变量中。在编辑时,它将新值与变量进行比较,如果有变化,则使 setHeadingsButton 可见。

我有第一个文本字段链接到 ViewDidLoad 中的委托:

impactLabel1.delegate = self;

因此以下内容适用于文本字段 ImpactLabel1,但显然不适用于 ImpactLabel2。

-(void) textFieldDidEndEditing:(UITextField *) textField
{
if (textField.tag == 1)
{
  if (impactLabel1.text != impactlabel1)
  {
  [setHeadingsButton setAlpha:1];
  }
}
if (textField.tag==2)
{
  if (impactLabel2.text != impactlabel2)
  {
  [setHeadingsButton setAlpha:1];
  }
}

如何正确地将两个文本字段链接到委托?

【问题讨论】:

    标签: xcode ipad ios6


    【解决方案1】:
    -(void) textFieldDidEndEditing:(UITextField *) textField
    {
    if (textField.tag == 1)
    {
      if (![impactLabel1.text isEqualToString:impactlabel1])
      {
      [setHeadingsButton setAlpha:1];
      }
    }
    if (textField.tag==2)
    {
      if (![impactLabel2.text isEqualToString:impactlabel2])
      {
      [setHeadingsButton setAlpha:1];
      }
    }
    

    编辑:

    在 .h 文件中分配代表

    <UITextFieldDelegate>
    

    对于委托方法,请确保您具有来自 xib 的绑定委托,例如..

    在 viewDidLoad 中编写如下代码

    self.myTextField.delegate = self;
    

    【讨论】:

    • 谢谢,但比较不是问题。编辑第二个文本框时不会调用 textFieldDidEndEditing ,因为委托仅链接到第一个文本框。我正在尝试弄清楚如何将代理链接到两个文本字段。
    • 你是从xib中添加了textFields,还是通过编码添加了
    • 谢谢。我在情节提要中添加了文本字段。我可以对这两个文本字段执行您所说的操作吗?
    • 我试过了:impactLabel1.delegate = self;但是一旦我添加下一个 ImpactLabel2.delegate = self;它会阻止 firt 的工作。
    • 谢谢 - 我终于到了那里。我需要将委托设置为情节提要中的每个文本字段,而不是使用 ImpactLabel*.delegate = self;感谢您的帮助。
    猜你喜欢
    • 2012-05-27
    • 1970-01-01
    • 1970-01-01
    • 2017-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多