这是我的视图的屏幕截图:
现在,当用户向上滚动时,我需要隐藏此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。
我该怎么办?
谢谢!
答案 0 :(得分:2)
通常的事情是拥有一个UISearchController并将其搜索栏分配给视图控制器的导航项的searchController
属性。这会导致搜索栏自动按照您似乎描述的方式运行。
这是我自己的代码中的一个示例:
let src = SearchResultsController(data: self.sections)
let searcher = UISearchController(searchResultsController: src)
searcher.searchResultsUpdater = src
self.navigationItem.searchController = searcher