如果 TextField 为空,则设置自定义文本

Posted

技术标签:

【中文标题】如果 TextField 为空,则设置自定义文本【英文标题】:Setting custom text if TextField is empty 【发布时间】:2017-08-16 03:24:09 【问题描述】:

我有一个名为titleTextFieldtextField,用户可以在其中输入他们选择的标题,然后再保存笔记。如果用户将此字段留空,我想要做的是自动用文本“无标题”填充此字段。

我尝试了几种解决方案,但它们要么什么都不做,要么将标题始终设置为“无标题”,即使用户输入了文本。

这是我得到的最接近的,但它仍然无法正常工作:

    if(![self.titleTextField.text isEqual:@""])
    self.titleTextField.text = @"Untitled";

我的想法是,这将检查 titleTextField 是否为空,如果是,它将使用文本“无标题”填充该字段。我已经尝试在viewDidLoadviewWillAppearviewWillDisappear 中应用它——我真的不在乎是在屏幕加载时还是在用户完成页面后填充“无标题”文本;我只希望最终结果是一个空的标题字段,并带有文本“无标题”。

是编码错误,还是我只是在错误的地方应用了它?

【问题讨论】:

如果当前文本为空,您的代码会将文本字段设置为Untitled 【参考方案1】:

根据您正在寻找的解决方案是:

if([self.titleTextField.text isEqualToString:@""])
    self.titleTextField.text = @"Untitled";

你也可以在下面使用:

if([self.titleTextField.text length] == 0)
    self.titleTextField.text = @"Untitled";

【讨论】:

isEqual:isEqualToString: 一样有效。 谢谢!第二个(带有长度参数)就像一个魅力! 第二个选项的优点是即使self.titleTextField.textnil 也可以工作。

以上是关于如果 TextField 为空,则设置自定义文本的主要内容,如果未能解决你的问题,请参考以下文章

如何从表格视图的自定义单元格内的 TextField 获取值(标签)以发布到 te URL

文本不为空时出现Flutter textfield clear按钮

将自定义输入视图设置为全局所有文本字段的最简单方法

当textfield为空时禁用按钮等待其他文本字段中的任何更改

如果模型为空,.NET 剃须刀显示自定义文本

我无法设置自定义文本字段的文本