如何设置UILabel的行数

时间:2019-04-10 03:00:32

标签: ios swift uitableview uilabel

我目前正在一个项目中,我需要能够设置UILabel的行数。这意味着,如果我输入5,则标签必须符合要求并返回4次(像字符太少这样的问题将不成问题)。下面我附上一张图像,其中包含一个例子来阐明我的问题:

Image

到目前为止,我尝试通过设置.numberOfRows属性来执行此操作,但这仅对UILabel设置了限制,这不是我想要的(如果您很好奇,下面有一些代码)。有什么帮助吗?

我的代码:

if Double(w!) > 277 {
    print("Values:")
    print(w!)
    let numRows = Int(w!/237)
    print(numRows)
    heightOfCell += Double(numRows)*20.5
    cell!.textLabel?.numberOfLines = numRows + 2
}

2 个答案:

答案 0 :(得分:0)

要在标签中添加更多行,可以打开label属性,在label属性中可以显示lines选项,在此选项中可以添加更多行。

答案 1 :(得分:0)

您的意思是这样的吗? 请记住,.numberOfRows属性只会对标签可以显示的行数设置限制。您还必须将文本分成几行。

    class NumberOfLinesLabel:UILabel{

    func setNumberOfLines(n:Int){
        self.numberOfLines = n
        let words = self.text?.split(separator: " ")
        let numOfWordsPerLine = (words?.count)!/n
        var insertedWords = 0
        self.text = ""
        for w in words!{
            if insertedWords == numOfWordsPerLine{
                self.text = self.text! + "\n" + w
                insertedWords = 0
            }else if self.text?.count == 0{
                self.text = self.text! + w
                insertedWords += 1
            }else {
                self.text = self.text! + " " + w
                insertedWords += 1
            }
        }
    }
}
相关问题