[英]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.