清除 UITextField 的 text 属性的内容以供点击

Posted

技术标签:

【中文标题】清除 UITextField 的 text 属性的内容以供点击【英文标题】:Clear the content of the UITextField's text property for tap 【发布时间】: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: 被调用了吗? 【参考方案1】:

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

如果您还想清除占位符

- (void)textFieldDidBeginEditing:(UITextField *)textField

    textField.placeholder = nil;

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

【讨论】:

我第一次尝试在界面生成器中编辑它时似乎错过了它,但现在找到了它,谢谢!这是最快的解决方案。

以上是关于清除 UITextField 的 text 属性的内容以供点击的主要内容,如果未能解决你的问题,请参考以下文章

自定义 UITextField 清除按钮

将“清除”按钮添加到 iPhone UITextField

为啥 UITextField.text 是可选的?

无法在 Swift 中获取 UITextField 的 .text 属性 - 错误:“实例成员 'textFieldName' 不能用于类型 'ViewController'

如何使用 RxSwift 观察 UITextField 中的文本变化?

UITextField没有获取属性swift 4