Я столкнулся с проблемой, когда большая панель навигации заголовка резко падает, когда прокручивается UITableView, встроенная внутри UIViewController. Проблема возникает только при прокрутке экрана. При прокрутке на экране название переходит плавно, чтобы снова быть большим, но не наоборот.
Эта проблема НЕ возникает при использовании UITableViewController.
Это нормальное, ожидаемое поведение при прокрутке внутри UITableViewController.
И вот разбитый, резкий переход при использовании UITableView внутри UIViewController.
Вот код для сломанной реализации:
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 12
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Basic", for: indexPath)
cell.textLabel?.text = "Title \(indexPath.row)"
return cell
}
}
На панели навигации есть предпочтения "Большие заголовки", а элемент "Навигация" имеет значение " Большой заголовок", установленное на "Автоматически".
Код и конфигурация для обоих приведенных выше примеров точно такие же, за исключением того, что он является UITableViewController и UITableView внутри UIViewController.
Я также заметил, что сломанное поведение НЕ происходит, если содержимое UITableView не превышает высоту представления. Но раз больше ячеек, чем может поместиться на экране, это ломается.
Любая идея, если я делаю что-то неправильно или это ошибка IOS 11?