【问题标题】:Clear the content of the UITextField's text property for tap清除 UITextField 的 text 属性的内容以供点击
【发布时间】:2014-06-21 22:53:24
【问题描述】:

我有一个名为 place 的 UITextField,它的 text 属性包含一个 NSString。当用户点击文本字段时,我想从文本属性中清除现有内容。

我尝试了上面的代码,但没有任何反应。我也尝试使用占位符属性,但它是一样的。你知道可能是什么问题吗?我认为它应该有效。

- (void)textFieldDidBeginEditing:(UITextField *)textField {
    self.place.text = nil;
}

2,版本 - 在这种情况下,文本字段中从一开始就不会出现任何内容

 - (void)viewDidLoad
{
    [super viewDidLoad];
    ...

    [self textFieldDidBeginEditing:place];
}

- (void)textFieldDidBeginEditing:(UITextField *)textField {
    textField.text = nil;
}

【问题讨论】:

  • textFieldDidBeginEditing: 被调用了吗?

标签: ios objective-c


【解决方案1】:

有一个属性clearsOnBeginEditing,您可以通过编程方式将其设置为YES,或者在Interface Builder 中有一个复选框。

如果您还想清除占位符

- (void)textFieldDidBeginEditing:(UITextField *)textField
{
    textField.placeholder = nil;
}

仔细检查 UITextField self.place 是否已将它的委托设置为您的视图控制器,并验证是否正在调用 textFieldDidBeginEditing

【讨论】:

  • 我第一次尝试在界面生成器中编辑它时似乎错过了它,但现在找到了它,谢谢!这是最快的解决方案。
猜你喜欢
  • 2013-09-10
  • 2012-01-21
  • 2021-10-01
  • 2015-06-22
  • 2015-03-14
  • 2019-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多