我有一个过滤条,它是一个UIView以及我控制器中的tableView,如下所示:
override func viewWillLayoutSubviews() {
sortSalonsByDistanceAndReload()
}
func setupViews() {
view.addSubview(filterBar)
view.addSubview(tableView)
filterBar.leftAnchor.constraint(equalTo: view.leftAnchor).isActive = true
filterBar.rightAnchor.constraint(equalTo: view.rightAnchor).isActive = true
filterBar.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
filterBarHeightLC = filterBar.heightAnchor.constraint(equalToConstant: 44)
filterBarHeightLC?.isActive = true
tableView.leftAnchor.constraint(equalTo: view.leftAnchor).isActive = true
tableView.rightAnchor.constraint(equalTo: view.rightAnchor).isActive = true
tableView.topAnchor.constraint(equalTo: filterBar.bottomAnchor).isActive = true
tableView.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
}
当用户向下滚动tableView时,我想让filterBar消失,然后在用户向上滚动时重新出现
答案 0 :(得分:0)
您可以使用搜索控制器。看看How to implement UISearchController in UITableView - SWIFT
如果它不适合您,您可以添加为标题视图的一部分或一部分
答案 1 :(得分:0)
delegate
的{{1}}应实施tableView
方法UIScrollViewDelegate
并查询scrollViewDidScroll:
(您的tableView)上的contentOffset.y
属性。然后,它取决于您希望条形显示的时间:仅在顶部,或者每当用户在tableView内向上滚动时。您可以将scrollView
差异与contentOffset.y
的顶部约束常量(范围从-44到0)同步。最好插入tableView并更新插件(从0到44)。
如果您的filterBar可以使用filterBar
中的导航栏实现,您可能会UINavigationController
,但我不知道您的视图控制器设置。