Как увеличить высоту заголовка в табличном представлении в соответствии с увеличением текста в метке, взятой в stackview в swift4? - PullRequest
0 голосов
/ 10 октября 2019

Я взял UILabel, чье содержимое должно быть увеличено, чье начальное количество строк равно 2, затем на UIButton нажмите, чтобы увеличить его до 0. Иногда высота заголовка увеличивается точно, но в противном случае она увеличивается до большогоэкстент с помощью viewDidLayoutSubviews

1 Ответ

0 голосов
/ 10 октября 2019

попробуйте, это поможет вам

  • Вы можете получить высоту этикетки, используя функцию ниже

    func heightForLabel(text: String, font: UIFont, width: CGFloat) -> CGFloat {
    
        let label:UILabel = UILabel(frame: CGRect(x: 0, y: 0, width: width, height: CGFloat.greatestFiniteMagnitude))
        label.numberOfLines = 0
        label.lineBreakMode = NSLineBreakMode.byWordWrapping
        label.font = font
        label.text = text
        label.sizeToFit()
    
        return label.frame.height
    }
    
  • Метод заголовка UITableView

    func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
    
          let height = self.heightForLabel(text: 'your text', font: 'font which you in label' , width: 'your label width')
          return height //return height for label.
    }
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...