结构:
View1(单击按钮)->模态显示(MyModalView:UITableViewController)
MyModalView嵌入了UISearchController。 UISearchController 的searchBar 放在MyModalView.tableView.tableHeaderView中。
自iOS 8.0起,它一直运行良好。但是在iOS 9上, 当UISearchController处于活动状态时,searchBar 消失。请在 下面看这些照片
模态视图:模态视图
在iOS 8上有效的UISearchController:iOS 8中的搜索栏
在iOS 9上有效的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) }
此问题在iOS 9.1 Beta中也会发生。
任何想法/指针将不胜感激
似乎我们每个人都遇到了相同的问题,但是解决 方法不同。但是,没有建议的答案对我有用:(。尽管如此, 感谢您的宝贵时间。
我有解决问题的解决方案。它正在 使用Interface Builder 在 情节提要中将我的(MyModalView:UITableViewController)的Extend Edges-Under Opaque Bars 设置为true 。
综上所述:
MyModalView:UITableViewController,在使用Interface Builder的情节提要中具有