如何将来自4个UITextfields的信息合并到一个UILabel中

时间:2018-07-17 23:51:12

标签: ios swift uitextfield uilabel

我在一页上有4个文本字段,我想让它们显示在一个标签上。我的应用程序询问用户他们的街道,城市,国家和邮政编码。对于每个输入,都有一个文本字段。

我如何将这些文本字段的信息显示在另一页上的单个标签中?

我让用户输入他们的街道,城市,国家和邮政编码。

然后,我将其显示在标签中:(123街市,美国12345)。

2 个答案:

答案 0 :(得分:1)

我们可以只抓取它们的每个文本,然后使用转义符将它们放入字符串中。这是解决您的问题的解决方案,其中最有可能必须更改每个对象的名称:

textFieldStreet.text = "123 Street"
textFieldCity.text = "Townsville"
textFieldCountry.text = "USA"
textFieldPostal.text = "12345"

let finalText = "\(textFieldStreet.text!), \(textFieldCity.text!), \(textFieldCountry.text!) \(textFieldPostal.text!)"

outputLabel.text = finalText // This results in "123 Street, Townsville, USA 12345"

只需将每个UITextField(textFieldStreet等)的名称替换为文本字段的名称,然后将“ outputLabel”替换为输出标签的名称!

答案 1 :(得分:0)

首先,您应该为每个TextField都有一个引用。

@IBOutlet var streetTextField: UITextField!
@IBOutlet var cityTextField: UITextField!
@IBOutlet var countryTextField: UITextField!
@IBOutlet var postalCodeTextField: UITextField!

第二,由于您希望用户编写每个信息,因此应保护您的应用程序,避免强行打开包装。

if let streetName = streetTextField.text {
   //if streetName gets value from the streetTextField it should add that info to the label
   addressLabel.text.append(streetName)
}

为每个textField重复该过程。 有很多选择可以实现您的需求,但是我相信这是最简单的选择之一。