_searchController = [[UISearchController alloc] initWithSearchResultsController:nil]; _searchbar = _searchController.searchbar; [_searchController.searchbar sizetoFit]; _searchController.searchbar.delegate = self; _searchController.searchResultsUpdater = self; _searchController.dimsBackgroundDuringPresentation = NO; _searchController.hIDesNavigationbarDuringPresentation = NO; self.definesPresentationContext = NO; _shopstable.tableheaderVIEw = _searchController.searchbar;
我实现了
– (voID)updateSearchResultsForSearchController:(UISearchController *)searchController和(voID)filterContentForSearchText:(Nsstring *)searchText
搜索工作,tablevIEw得到正确更新等.
但!
如果我在搜索控制器处于活动状态(只需点击搜索栏或某些文本)时切换标签页,然后返回到搜索选项卡,我将只显示一个空白屏幕,如同这样
在这种情况下,我搜索从lar开始的事情,它返回结果并显示它们.但是如果我切换选项卡,并返回到搜索选项卡,我会得到一个这样的空白屏幕.控制器返回到原始状态的唯一方法是,如果我执行_searchController.active =否.但是,如果用户希望保持搜索活动,我不能仅仅停用它.
我相信我错过了一些东西,但是由于UISeachController没有太多的工作,所以我无法弄明白是什么原因造成的.
解决方法 尝试self.definesPresentationContext = YES;而不是NO.这是我如何设置我的UISearchController,但我没有这样做在UITabbarController之前.func setupSearchController() { let resultsController = UIStoryboard(name: "ATPagetableVIEwController",bundle: nil).instantiateVIEwControllerWithIDentifIEr("ATPagetableSearchResultsVIEwController") as! ATPagetableSearchResultsVIEwController searchController = UISearchController(searchResultsController: resultsController) searchController.delegate = self resultsController.delegate = self resultsController.cellIDentifIEr = ATDataSetItemtableVIEwCellIDentifIEr; resultsController.table = self.table! searchController.searchbar.sizetoFit() self.tableVIEw.tableheaderVIEw = searchController.searchbar searchController.searchResultsUpdater = self searchController.searchbar.delegate = self definesPresentationContext = true}总结
以上是内存溢出为你收集整理的ios – UISearchController使控制器变黑全部内容,希望文章能够帮你解决ios – UISearchController使控制器变黑所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)