Ios UISearchBar的自定义位置
我目前正在尝试实现UISearchController及其关联的UISearchBar。 我的目标是在我的UITableView上方有一个UISearchBar,它一有焦点就会显示在顶部,如下图所示(使用UISearchDisplayController的旧UI截图,现已弃用): 我已经尝试将我的UISearchBar设置为UITableView的标题,效果很好,但我有两个问题:Ios UISearchBar的自定义位置,ios,swift,uisearchbar,uisearchcontroller,Ios,Swift,Uisearchbar,Uisearchcontroller,我目前正在尝试实现UISearchController及其关联的UISearchBar。 我的目标是在我的UITableView上方有一个UISearchBar,它一有焦点就会显示在顶部,如下图所示(使用UISearchDisplayController的旧UI截图,现已弃用): 我已经尝试将我的UISearchBar设置为UITableView的标题,效果很好,但我有两个问题: 搜索栏在逻辑上与表视图内容一起滚动 当搜索栏获得焦点时,它将保持在相同的位置 以下是我配置UISearchBar的
func configureSearchController() { // Method called in the viewDidLoad()
searchController = UISearchController(searchResultsController: nil)
searchController!.searchResultsUpdater = self
searchController!.dimsBackgroundDuringPresentation = false
searchController!.searchBar.placeholder = "searchfood.searchbar.placeholder".localized
searchController!.searchBar.sizeToFit()
searchController!.hidesNavigationBarDuringPresentation = false
print(searchController!.searchBar.frame)
// Place the search bar view to the tableview headerview.
foodsTableView.tableHeaderView = searchController!.searchBar
// Search bar
searchController!.searchBar.searchBarStyle = .prominent
searchController!.searchBar.barTintColor = ColorLSDP.corail
searchController!.searchBar.tintColor = ColorLSDP.beige
}
因此,我尝试删除以下行:
foodsTableView.tableHeaderView = searchController!.searchBar
但是当我这样做的时候,我再也看不到UISearchBar了。
在检查了其他一些SO主题之后,我刚刚发现我的UISearchBar可能隐藏在我的UINavigationBar下面。因此,我尝试在viewDidLoad()方法中添加以下行:
它没有改变什么。
无论如何,它并没有解决我的主要问题,那就是这个搜索栏最初的位置和上面的截图一样
有没有办法用全新的UISearchController正确地执行此操作
非常感谢您即将给出的答案,
当做
Seb R.还有一个问题可以帮助我有更多的时间找到答案:下面的警告让我尝试使用UISearchController:“'searchDisplayController'已弃用:在iOS 8.0中首次弃用”。如果我在应用程序中保留UISearchDisplayController实例,这是否意味着苹果将拒绝我的新版本?另一个问题可能会帮助我有更多时间找到答案:以下警告让我尝试UISearchController:“'searchDisplayController'已弃用:在iOS 8.0中首次弃用”。这是否意味着如果我在应用程序中保留UISearchDisplayController实例,苹果会拒绝我的新版本?
self.navigationController?.navigationBar.isTranslucent = false
self.edgesForExtendedLayout = []