[英]Cancel Button in UISearchController Causes SearchBar Glitch
在viewDidload
,我將實例化UISearchController
並將其搜索欄添加到表視圖的標題視圖中,這是標准過程。
如果我點擊搜索欄並輸入一些文本,則會顯示結果,並且我在此處取消搜索,沒問題。
相反,如果我選擇結果行之一,則推入下一個屏幕,然后彈出並在此處取消,則搜索欄會出現故障。
這是我的searchController:
// MARK : SearchController ! //
var searchController : UISearchController!
var resultsController = UITableViewController()
///////////
override func viewDidLoad() {
super.viewDidLoad()
definesPresentationContext = true
self.resultsController.tableView.dataSource = self
self.resultsController.tableView.delegate = self
self.searchController = UISearchController(searchResultsController: self.resultsController)
self.tableView.tableHeaderView = self.searchController.searchBar
self.searchController.searchResultsUpdater = self
self.searchController.dimsBackgroundDuringPresentation = true
self.searchController.searchBar.sizeToFit()
self.searchController.searchBar.barTintColor = UIColor.blackColor()
self.searchController.searchBar.endEditing(true)
self.searchController.searchBar.placeholder = "חפש ברים"
self.searchController.hidesNavigationBarDuringPresentation = false
self.searchController.searchBar.delegate = self
}
就像搜索欄不再是tableHeaderView
一樣,它破壞了tableview
將最后一個單元格和第一個單元格減半。
先感謝您!
經過大量的設置后,我設法自己找到了解決方案,我不知道為什么這些特定的設置可以解決此問題,但是以下是為我解決了該問題的原因:
override func viewDidLoad() {
super.viewDidLoad()
//MARK : Fixes SearchBar Bugs
self.resultsController.edgesForExtendedLayout = .All
self.searchController.edgesForExtendedLayout = .All
self.resultsController.extendedLayoutIncludesOpaqueBars = true
// End of Bug Fixes.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.