我目前正在一个项目中,我需要能够设置UILabel的行数。这意味着,如果我输入5,则标签必须符合要求并返回4次(像字符太少这样的问题将不成问题)。下面我附上一张图像,其中包含一个例子来阐明我的问题:
到目前为止,我尝试通过设置.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
}
答案 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
}
}
}
}