Tua*_* Vu 11 ios swift uisearchcontroller
我遇到了UISearchController的问题,如果我在搜索栏中有文本并关闭它所在的VC,则searchBar不会消失,只是保持在屏幕上与其他VC中的所有内容重叠.如果你点击取消按钮它会崩溃.
在SO上尝试了一些解决方案,但没有一个有效.:/
self.resultSearchController = ({
        let controller = UISearchController(searchResultsController: nil)
        controller.searchResultsUpdater = self
        controller.dimsBackgroundDuringPresentation = false
        controller.hidesNavigationBarDuringPresentation = false
        controller.searchBar.sizeToFit()
        controller.searchBar.searchBarStyle = UISearchBarStyle.Minimal
        controller.searchBar.barTintColor = UIColor(red: 243/255, green: 243/255, blue: 243/255, alpha: 1)
        controller.searchBar.tintColor = UIColor.blackColor()
        controller.definesPresentationContext = true
        controller.edgesForExtendedLayout = UIRectEdge.None
        self.tableView.contentInset = UIEdgeInsetsMake(64, 0, 0, 0)
        self.tableView.tableHeaderView = controller.searchBar
        return controller
    })()
非常感谢任何帮助!
更新:所以我找到了一个不太好的解决方案,即在viewWillDisappear中设置.active = false.但问题是,在完全消失之前,searchBar工件将在下一个/上一个VC上显示一秒钟.
chr*_*ris 18
更改以下内容:
controller.definesPresentationContext = true
至
self.definesPresentationContext = true
当您在导航堆栈上打开和弹出视图控制器时,该设置还会保留搜索栏的状态.
您可以在UIViewControllerdefinesPresentationContext上阅读有关Apple文档的设置.
| 归档时间: | 
 | 
| 查看次数: | 4188 次 | 
| 最近记录: |