Кодирование в Swift 3. Имеет таблицуView с пользовательскими ячейками и заголовком.heightForHeaderInSection только называется один раз
У меня есть таблицаView с пользовательскими ячейками и заголовками. Заголовки имеют две (2) метки в них и имеют динамические высоты ячеек, поскольку эти метки могут быть длинными. Моя проблема - первый раз, когда tableView и разделы сконфигурированы, ярлык отображается, как и должно быть, ОДНАКО, после прокрутки вниз, а затем резервное копирование структуры заголовков как-то ломается.
Как вы можете видеть ниже, после того как я прокручивать вниз, а затем обратно к клеткам, метка становится отсечку.
После печати, какие методы называют я обнаружил, что в первый раз прокрутка вниз Tableview следующих два (2) Функция коррекции называется.
override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
print("\(section) heightForHeaderInSection")
print("\(section) returning AUTO for header")
return UITableViewAutomaticDimension
}
override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
print("\(section) viewForHeaderInSection")
let header = tableView.dequeueReusableCell(withIdentifier: "QuestionHeader") as! QuestionHeader
header.delegate = self
header.contentView.backgroundColor = UIColor.groupTableViewBackground
header.questionTextLabel.text = String(questionStringArray[section])
header.questionNumberLabel.text = (String(section + 1) + ")")
return header.contentView
}
Но когда я прокрутить назад вверх ТОЛЬКО функция viewForHeader называется, и я не думаю, потому что высота больше не устанавливается на UITableViewAutomaticDimension метки получают обрезание?
Любые идеи?
@ozgur прав! –
@ozgur Я попробовал upvoting, но случайно «отменил» его, и это не позволит мне. Не могли бы вы опубликовать свой ответ, чтобы я мог вас поддержать? Еще раз спасибо! –