【发布时间】:2016-11-22 10:50:04
【问题描述】:
这个问题本质上是UISearchBar在激活时与状态栏重叠。我知道已经发布了许多类似的问题,我已经尝试了所有方法,但仍然无法解决。
当屏幕初始化时,搜索栏似乎在正确的位置。当我向下滚动屏幕一点时,你可以看到搜索栏的背景比我从 iPhone 上的邮件应用程序中得到的要高。
搜索栏背景中多余空间的高度与状态栏高度相同。我相信这是导致以下问题的原因,即当搜索栏被激活时,它与状态栏重叠。但是当搜索取消时,它会回到正常位置,如第一张图所示。
这是我的代码。
全局变量:
let searchController = UISearchController(searchResultsController: nil)
在 viewDidLoad 中:
self.extendedLayoutIncludesOpaqueBars = true
self.definesPresentationContext = true
self.navigationController?.navigationBar.isHidden = false
self.originalFrame = self.tabBarController?.tabBar.frame
searchController.hidesNavigationBarDuringPresentation = true
searchController.searchBar.barTintColor = Settings.tealColor
searchController.searchResultsUpdater = self
searchController.dimsBackgroundDuringPresentation = false
searchController.searchBar.scopeButtonTitles = ["All", "Pre-order", "Delivery", "Carry-out", "Dine-in", "History"]
searchController.searchBar.delegate = self
searchController.searchBar.sizeToFit()
restaurantTableView.tableHeaderView = searchController.searchBar
您的任何帮助将不胜感激。我已经解决这个问题两天了。谢谢
【问题讨论】: