清除 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 属性的内容以供点击的主要内容,如果未能解决你的问题,请参考以下文章
无法在 Swift 中获取 UITextField 的 .text 属性 - 错误:“实例成员 'textFieldName' 不能用于类型 'ViewController'