iOS Swift-滚动时如何向上移动searchBar?

时间:2019-04-25 21:08:25

标签: ios swift

这是我的视图的屏幕截图:

screenshot

现在,当用户向上滚动时,我需要隐藏此searchBar。当用户向下滚动时,我需要显示此searchBar。而且它应该是渐进的,而不仅仅是显示和隐藏。

这是我现在在viewDidLoad内的代码:

self.searchBar.frame = CGRect(x: 0, y: 0, width: (navigationController?.view.bounds.size.width)!, height: 55)
self.searchBar.barStyle = .default
self.searchBar.isTranslucent = false
self.searchBar.barTintColor = UIColor.groupTableViewBackground
self.searchBar.backgroundImage = UIImage()
self.searchBar.delegate = self
self.view.addSubview(searchBar)
self.definesPresentationContext = true

此外,我将tableView到顶部的距离设置为55,以使searchBar不会覆盖tableView。

我该怎么办?

谢谢!

1 个答案:

答案 0 :(得分:2)

通常的事情是拥有一个UISearchController并将其搜索栏分配给视图控制器的导航项的searchController属性。这会导致搜索栏自动按照您似乎描述的方式运行。

这是我自己的代码中的一个示例:

let src = SearchResultsController(data: self.sections)
let searcher = UISearchController(searchResultsController: src)
searcher.searchResultsUpdater = src
self.navigationItem.searchController = searcher