2016-09-06 5 views
1

Текст UILabel присваивается в целом. Если есть многострочная метка, есть способ назначить строку текста определенной строке этого ярлыка.Назначить текст линии с несколькими линиями UILabel

Так что вместо того, чтобы делать myLabel.text = "A very long line...." могу ли я сделать что-то вроде myLabel.text.line[0] /*(or [1] or whatever)*/ = "One line from my whole string"?

+0

Это невозможно ... Но можете ли вы попытаться описать, чего вы хотите добиться вместо этого? – Sajjon

ответ

4

Вы можете добавить разрывы строк в строке с «\ п»

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 
} 

Так вы может иметь массив, называемый строками, и отредактировать его, а затем вызвать функцию для переназначения текста:

setLabelTextForLines(lines) 
lines[0] = "Changed the first line" 
setLabelTextForLines(lines) 
Смежные вопросы