У меня возникла проблема, при которой у меня появляются следующие представления:
|||||||||||||
| |
| Nav |
|-----------|
| SomeView |
|-----------|
| |
| Table |
| |
| |
| |
| |
|||||||||||||
При прокрутке таблицы вниз.
|||||||||||||
| |
| |
| Nav |
| |
|-----------|
| |
| Table |
| |
| |
| |
| |
|||||||||||||
Это происходит, только если prefersLargeTitles установлено в значение true.Осматривая это с помощью отладчика Xcode, я вижу, что рамка навигационной панели увеличивается по мере того, как увеличивается смещение содержимого табличного представления (я панорамирую UITableView вниз).Любая идея, как предотвратить рост панели навигации (и, следовательно, охватывая мой someView, который закреплен над uitableview?).
Обновление: мне удалось воспроизвести с очень простым проектом.Вот исходный код:
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = UIColor.white
navigationController?.navigationBar.prefersLargeTitles = true
let testView = TestView()
testView.translatesAutoresizingMaskIntoConstraints = false
tableView.delegate = self
tableView.dataSource = self
tableView.register(UITableViewCell.self, forCellReuseIdentifier: "UITableViewCell")
tableView.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(tableView)
view.addSubview(testView)
testView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor).isActive = true
testView.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true
testView.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true
tableView.topAnchor.constraint(equalTo: testView.bottomAnchor).isActive = true
tableView.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true
tableView.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true
tableView.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
}
Вот что я вижу: