我尝试将 UISearchBarController 添加到 tableView,但是当我设置 UINavigationBar.appearance().translucent = false 然后 UISearchBar 隐藏在屏幕之外
在 TableViewController 中
var resultSearchC: UISearchController = UISearchController()
override func viewDidLoad() {
super.viewDidLoad()
self.resultSearchC = ({
let c = UISearchController(searchResultsController: nil)
c.searchResultsUpdater = self
c.searchBar.translucent = true
c.searchBar.barTintColor = .redColor()
c.searchBar.sizeToFit()
self.tableView.tableHeaderView = c.searchBar
return c
})()
// self.edgesForExtendedLayout = .None
self.tableView.reloadData()
}
应用委托(delegate):
let navBarAppearance = UINavigationBar.appearance()
navBarAppearance.barStyle = .Black
navBarAppearance.translucent = false
最佳答案
您需要在 viewDidLoad() 中将 extendedLayoutIncludesOpaqueBars 设置为 true。
extendedLayoutIncludesOpaqueBars = true;
关于ios - 当导航栏半透明 = false 时 UISearchBar 超出屏幕边界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29453228/