用于呈现SearchController的代码:
searchController = UISearchController(searchResultsController:viewcontroller)
storageLocation.tableView.tableHeaderView = searchController.searchBar
searchController.dimsBackgroundDuringPresentation = true
searchController.hidesNavigationBarDuringPresentation = true
searchController.searchBar.prompt = "Some random text"
self.definesPresentationContext = true
searchController.searchBar.backgroundColor = .white
self.present(searchController, animated: true, completion: nil)
最佳答案
我认为您到顶部的storageLocation间距为-20。在情节提要中设置约束时,不要为顶部的填充而感到震惊(即使您将间距设置为0),也就是状态栏。
选项:
将storageLocation顶部间距设置为0而不是-20
隐藏状态栏
要隐藏状态栏,请在VC的底部添加以下内容:
override var prefersStatusBarHidden: Bool {
return true
}
在您的info.plist中,使用YES设置键“ UIRequiresFullScreen”。
在项目设置->目标->常规(在其中设置应用名称,捆绑包标识符,签名等)中,在“部署信息”中,确保“选择了隐藏状态栏”
关于swift - 在呈现为UISearchController时,UISearchBar提示与状态栏重叠,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45321247/