Как установить количество строк для UILabel - PullRequest
0 голосов
/ 10 апреля 2019

В настоящее время я работаю над проектом, в котором мне нужно установить количество строк для 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 голосов
/ 10 апреля 2019

Вы имеете в виду что-то подобное? Имейте в виду, что свойство .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
            }
        }
    }
}
0 голосов
/ 10 апреля 2019

Чтобы добавить больше строк в метку, вы можете открыть свойство метки, а в свойстве метки вы можете показать опцию линий, в этой опции вы можете добавить еще много строк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...