Вид блокировки XCode для подпрыгивающей панели навигации
ситуация
у меня есть UIView
это имеет ограничение макета в нижней части безопасной области. Это внутри UIViewController
внутри UINavigationController
, Он отлично работает, когда панель навигации находится между большим заголовком и "обычным" заголовком. Однако при подпрыгивании опустите UINavigationBar
охватывает пользовательский вид.
Вопрос
Как я могу заблокировать положение пользовательского представления в нижней части подпрыгивающей панели навигации. Решение раскадровки было бы оптимальным, решение Swift было бы достаточно.
1 ответ
Вам нужно добавить menuView
в navigationBar
let menuView = UIView()
menuView.backgroundColor = .red
menuView.translatesAutoresizingMaskIntoConstraints = false
self.navigationController?.navigationBar.addSubview(menuView)
[menuView.leadingAnchor.constraint(equalTo: (self.navigationController?.navigationBar.leadingAnchor)!),
menuView.topAnchor.constraint(equalTo: (self.navigationController?.navigationBar.bottomAnchor)!),
menuView.trailingAnchor.constraint(equalTo: (self.navigationController?.navigationBar.trailingAnchor)!),
menuView.heightAnchor.constraint(equalToConstant: 60)].forEach{ $0.isActive = true }
Результат
Но вы должны поддерживать contentInset индикатора UITableView/UICollectionView/UIScrollView & Scroll
Предложения
Используйте заголовок раздела TableView/CollectinView в этом типе ситуации.