Этот пользовательский интерфейс позволяет пользователям вводить ответы в пробелах (TableViewCells), а в заголовке будет просматриваться окончательный ответ с пробелами, заполненными в исходном вопросе.
Например, запрос вопроса здесь должен быть "Theэлементы, из которых состоят молекулы воды: (_____) и (_____). "
Но пользовательский интерфейс показывает:
Как видите, представление заголовка усекает содержимое.Я хочу, чтобы представление изменило размеры, чтобы соответствовать любому тексту, даже когда пользователь печатает, и ext становится длиннее.Вот код TableViewController для создания представления заголовка:
override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let cell = tableView.dequeueReusableCell(withIdentifier: "OPCell") as! WhatTheBlankOriginalPostTableViewCell
cell.OriginalPostLabel.text = WhatTheBlankUtility.PostText(post: (post?.content.text)!)
opCell = cell
let view = UIView()
view.addSubview(cell)
let margins = view.layoutMarginsGuide
cell.leadingAnchor.constraint(equalTo: margins.leadingAnchor, constant: 8).isActive = true
cell.trailingAnchor.constraint(equalTo: margins.trailingAnchor, constant: 8).isActive = true
cell.topAnchor.constraint(equalTo: margins.topAnchor, constant: 16).isActive = true
cell.bottomAnchor.constraint(equalTo: margins.bottomAnchor, constant: 16).isActive = true
return view;
}
Обратите внимание, что я обернул представление заголовка (изначально ячейка, с автоматическим изменением размера и работало нормально! Но всякий раз, когда он обновлял размер - я использовал
Tableview.beginUpdates()
Tableview.endUpdates()
весь табличный вид будет дрожать, если вы будете слишком далеко прокручиваться вниз, и представление заголовка просто исчезнет, если вы прокрутите слишком далеко вниз, чтобы сказать пустое 20. Теория, которую я видел, состояла в том, что я возвратил TableViewCell ине UITableViewHeaderFooterView, когда табличное представление больше не думает, что ячейка видима, она уничтожается) в представлении.Это должно решить проблему, которую я упомянул в скобках.Прости мою плохую организацию мыслей.
Я также попытался изменить размер представления заголовка, закрепив ячейку внутри границ представления в коде (автоматические ограничения).Не повезло - без изменений размера представления заголовка, когда пользователь печатает и строка становится длиннее.