簡體   English   中英

在 UILabel 中添加多行

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM