[英]Adding multiple lines in UILabel
我正在尝试使用用户的输入值制作时间表应用程序。 每当我尝试在标签上打印结果时,它只会打印最后一行而不是完整的表格。
如何在UILabel
附加文本? 这是我的代码:
if let textBox = textField.text{
let textBoxNum = Int(textBox)
if let number = textBoxNum{
if number > 0{
let i = 1
while i <= 20{
label.text = "\(number) x \(i) = \(number * i)"
}
}
else{
label.text = "Please enter a positive whole number"
}
}
else{
label.text = "Please enter a positive whole number"
}
}
赋值运算符 = 只是为标签文本重新分配一个新值。 您需要使用复合赋值运算符调用添加赋值运算符 += 添加到现有文本,它将通过将新值添加到现有值来分配新值。
let a:String = "Hello"
print(a) // Hello
a += " World!"
print(a) // Hello World!
同样的术语将应用于您将在标签的文本属性上使用 += 的情况。
if let textBox = textField.text{
let textBoxNum = Int(textBox)
if let number = textBoxNum{
if number > 0{
let i = 1
while i <= 20{
label.text += "\(number) x \(i) = \(number * i)\n"
// Use of compound operator here will append the text so you have
// to use a new line escape character to print the text properly.
}
}
else{
label.text = "Please enter a positive whole number"
}
}
else{
label.text = "Please enter a positive whole number"
}
}
更多关于运营商的信息: https : //developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/BasicOperators.html
除了其他答案(使用+=
和\\n
换行):
如果使用标签,则必须将行数设置为零,这将允许行数不受限制:
label.numberOfLines = 0
但是您可能更希望UITextField
显示多行文本,如果文本太长,它允许用户上下滚动。 您只需要禁用弹出的编辑/键盘,例如:
class TheViewController: UIViewController, UITextFieldDelegate {
override func viewDidLoad() {
super.viewDidLoad()
self.theTextField.delegate = self
}
func textFieldShouldBeginEditing(textField: UITextField) -> Bool {
return false
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.