【问题标题】:Assign text to a line of a multi-line UILabel将文本分配给多行 UILabel 的一行
【发布时间】:2016-09-06 18:45:45
【问题描述】:

UILabel 的文本是作为一个整体分配的。如果存在多行标签,是否可以将文本字符串分配给该标签的特定行。

所以我可以做myLabel.text.line[0] /*(or [1] or whatever)*/ = "One line from my whole string"之类的事情而不是myLabel.text = "A very long line...."吗?

【问题讨论】:

  • 那是不可能的......但是你能试着描述一下你想要实现的目标吗?

标签: ios swift string uilabel


【解决方案1】:

你可以用“\n”在你的字符串中添加换行符

myLabel.text = "A \n very long \n line"

注意:将标签的行数设置为 0,以允许任意行数。

myLabel.numberOfLines = 0

【讨论】:

    【解决方案2】:

    您可以创建一个行数组,然后将文本分配给这样的行:

    var lines = [String]()
    lines.append("Line number 1")
    lines.append("Line number n")
    

    然后你可以这样做:

    func setLabelTextForLines(lines:[String]){
        var text = ""
        for line in lines {
            text += line
            text += "\n"
        }
    
        myLabel.numberOfLines = 0
        myLabel.text = text
    }
    

    所以你可以有一个名为lines的数组并对其进行编辑,然后调用函数来重新分配文本:

    setLabelTextForLines(lines)
    lines[0] = "Changed the first line"
    setLabelTextForLines(lines)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-02
      • 1970-01-01
      • 2012-12-26
      • 2011-06-18
      • 2014-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多