如何以编程方式删除UITextField的内容?

我正在写一个iPhone应用程序,它有一些UITextFields,需要用户input一堆数据。 我想要一个简单的“删除”工具,允许用户放弃他们放入多个字段的任何数据。

我一直在为这个问题奋斗了几天。 我似乎无法find到达单个文本字段并更改文本的方法。 无论我尝试什么,我的应用程序都会向我抛出错误。

有几种方法来解决这个问题。

您可以编写代码来逐个擦除它们。 为此,您为每个创build一个IBOutlet ,并为其text属性分配一个空string。 如果你只有几个领域,这是最简单的。 如果你有更多,它不是很好。

你可以使它们成为一个普通的容器视图的所有孩子,并在其子视图上循环。 这样,你只需要连接一个IBOutlet

您可以遍历整个视图层次结构,并清空所有find的文本字段。

另一种方法,苹果没有很好的logging,是使用IBOutletCollection 。 这样,您可以将所有文本字段分配给一个IBOutletCollection并循环。 这可能是最简单,最直接的方法。

您可以使用界面构build器中的标签属性将序列标签分配给每个文本字段,然后像这样获取textField

 UITextField *txtf = (UITextField*)[self.view viewWithTag:aTagValue]; txtf.text = @""; or nil;