【问题标题】:Xcode lock view to bouncing navigation barXcode 锁定视图到弹跳导航栏
【发布时间】:2018-05-24 20:21:01
【问题描述】:

情况

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

问题

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

【问题讨论】:

    标签: xcode uinavigationcontroller uinavigationbar nslayoutconstraint large-title


    【解决方案1】:

    您需要在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{ $0.isActive = true }
    

    结果

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

    建议

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

    【讨论】:

    • 有没有办法在故事板中实现这一点?
    猜你喜欢
    • 1970-01-01
    • 2011-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多