Xcode 将视图锁定到弹跳导航栏
Xcode lock view to bouncing navigation bar
情况
我有一个 UIView
,它的布局限制在安全区域的底部。这是在 UINavigationController
内的 UIViewController
内。当导航栏是 in-between 大标题和 "regular" 标题时,它工作正常。但是,当弹跳降低时,UINavigationBar
会覆盖自定义视图。
问题
如何将自定义视图的位置锁定到 弹跳 导航栏的底部。故事板解决方案将是最佳的,Swift 解决方案就足够了。
您需要在navigationBar
中添加menuView
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{ [=10=].isActive = true }
结果
But you have to maintain contentInset of
UITableView/UICollectionView/UIScrollView & Scroll indicator
建议
在这种情况下使用 TableView/CollectinView 的第 Header 节。
情况
我有一个 UIView
,它的布局限制在安全区域的底部。这是在 UINavigationController
内的 UIViewController
内。当导航栏是 in-between 大标题和 "regular" 标题时,它工作正常。但是,当弹跳降低时,UINavigationBar
会覆盖自定义视图。
问题
如何将自定义视图的位置锁定到 弹跳 导航栏的底部。故事板解决方案将是最佳的,Swift 解决方案就足够了。
您需要在navigationBar
menuView
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{ [=10=].isActive = true }
结果
But you have to maintain contentInset of UITableView/UICollectionView/UIScrollView & Scroll indicator
建议
在这种情况下使用 TableView/CollectinView 的第 Header 节。