结构:
View1(单击按钮) - >以模态方式呈现(MyModalView:UITableViewController)
MyModalView嵌入了UISearchController.UISearchController的searchBar放在MyModalView.tableView.tableHeaderView中.
自iOS 8.0起,它一直运行良好.但是在iOS 9上,当UISearchController处于活动状态时,searchBar会消失.请看下面这些图片
UISearchController在iOS 8上处于活动状态:
UISearchController在iOS 9上处于活动状态:
非常标准的代码:
override func viewDidLoad() {
super.viewDidLoad()
// Dynamically create a search controller using anonymous function
self.resultSearchController = ({
let controller = UISearchController(searchResultsController: nil)
controller.searchResultsUpdater = self
controller.dimsBackgroundDuringPresentation = false
controller.searchBar.sizeToFit()
controller.searchBar.delegate = self
self.tableView.tableHeaderView = controller.searchBar
return controller
})()
// Auto sizing row & cell height
self.tableView.estimatedRowHeight = 130
self.tableView.rowHeight = UITableViewAutomaticDimension
self.definesPresentationContext = true
// No footer for better presentation
self.tableView.tableFooterView = UIView.init(frame: CGRectZero)
}
Run Code Online (Sandbox Code Playgroud)
这个问题也发生在iOS …