小编Dav*_*ang的帖子

当UISearchController处于活动状态时,iOS 9 searchBar将从表头视图中消失

结构:

View1(单击按钮) - >以模态方式呈现(MyModalView:UITableViewController)

MyModalView嵌入了UISearchController.UISearchController的searchBar放在MyModalView.tableView.tableHeaderView中.

自iOS 8.0起,它一直运行良好.但是在iOS 9上,当UISearchController处于活动状态时,searchBar会消失.请看下面这些图片

模态视图:模态视图

UISearchController在iOS 8上处于活动状态:iOS 8中的搜索栏

UISearchController在iOS 9上处于活动状态: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 …

uisearchbar ios swift uisearchcontroller ios9

53
推荐指数
6
解决办法
3万
查看次数

标签 统计

ios ×1

ios9 ×1

swift ×1

uisearchbar ×1

uisearchcontroller ×1