2

动画

情况

我有UIView一个布局约束到安全区域的底部。这是 inside a UIViewControllerinside a UINavigationController。当导航栏位于大标题和“常规”标题之间时,它可以正常工作。但是,当弹跳降低UINavigationBar覆盖自定义视图时。

问题

如何将自定义视图的位置锁定到弹跳导航栏的底部。故事板解决方案将是最佳的,Swift 解决方案就足够了。

4

1 回答 1

2

您需要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 }

结果

在此处输入图像描述

但是你必须维护 UITableView/UICollectionView/UIScrollView & 滚动指示器的 contentInset

建议

在这种情况下使用 TableView/CollectinView 的 Section Header。

于 2018-05-25T09:45:55.677 回答