Вид блокировки 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 в этом типе ситуации.

Другие вопросы по тегам