我正在尝试使用两个UITextFields的值同步两个不同的UILabel,如果文本字段中没有数据,那么我希望它们保留我在属性检查器中设置的标签占位符(&#34) ;标签1"&"标签2"):
func textFieldDidEndEditing(_ textField: UITextField) {
labelOne.text = labelOneTextField.text
labelTwo.text = labelTwoTextField.text
}
但是,当我在第一个文本字段中输入文本并点击完成后,第二个标签变为空白。所以我尝试了这个:
func textFieldDidEndEditing(_ textField: UITextField) {
if self.labelOneTextField != nil {
labelOne.text = "Label 1"
labelTwo.text = "Label 2"
} else {
labelOne.text = labelOneTextField.text
labelTwo.text = labelTwoTextField.text
}
}
但是,这只会为第一个文本字段为空白而设置一个规则,并且它看起来非常混乱。有什么更好的格式化方法,特别是考虑到这种形式会有更多的文本字段/标签。谢谢。
答案 0 :(得分:1)
只需获取值并检查它是否为空:
if let labelOneText = labelOneTextField.text, !labelOneText.characters.isEmpty {
labelOne.text = labelOneText
}
if let labelTwoText = labelTwoTextField.text, !labelTwoText.characters.isEmpty {
labelTwo.text = labelTwoText
}
答案 1 :(得分:0)
选择文本字段:
switch textField {
case labelOneTextField:
labelOne.text = labelOneTextField.text
case labelTwoTextField:
labelTwo.text = labelTwoTextField.text
....
default:
break
}