【问题标题】:Compare Placeholder Text in text field [closed]比较文本字段中的占位符文本[关闭]
【发布时间】:2013-11-28 06:54:35
【问题描述】:

我在情节提要中设置了文本字段(homeTeam)的占位符文本(例如 18 岁以下)。现在我想检查如下情况。

- (BOOL)textFieldShouldBeginEditing:(UITextField *) textField
{
    if ([_homeTeam.text isEqualToString:@"e.g. Under 18s"]) { // e.g. Under18s
        [_homeTeam setPlaceholder:@""];
    }
}

但条件永远不会成立。我在这里想念什么?当我使用 NSlog 进行跟踪时,_homeTeam.text 为空白。为什么会这样?

请提出建议。

【问题讨论】:

标签: ios objective-c uitextfield


【解决方案1】:

改变你的if条件,它应该是_homeTeam.placeholder而不是_homeTeam.text,因为你设置的placeholder文本不是UITextField的文本。

- (BOOL)textFieldShouldBeginEditing:(UITextField *) textField
{
    if ([_homeTeam.placeholder isEqualToString:@"e.g. Under 18s"]) { // e.g. Under18s
        [_homeTeam setPlaceholder:@""];
    }
}

【讨论】:

    【解决方案2】:

    您实际上想与placeholder 属性进行比较,而不是text(由用户输入)。

    另外,我会改为引用textField(而不是直接引用_homeTeam,因为您稍后可能会添加其他文本字段),例如:

    - (BOOL)textFieldShouldBeginEditing:(UITextField *) textField
    {
        if ([textField.placeholder isEqualToString:@"e.g. Under 18s"]) { // e.g. Under18s
            [textField setPlaceholder:@""];
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2015-12-15
      • 2015-02-22
      • 2012-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多