Xcode锁定视图到弹跳导航栏

时间:2018-05-24 20:21:02

标签: xcode uinavigationcontroller uinavigationbar nslayoutconstraint large-title

animation

情况

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

问题

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

1 个答案:

答案 0 :(得分: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 }

<强>结果

enter image description here

  

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

<强>建议

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