我的searchResultsController是一个UICollectionViewController,当我单击一个单元格并将其推入didSelectItem中的视图控制器时,在幻灯片动画期间,我的searchResultsController中的视图会跳转。但是,当我单击“后退”按钮时,视图很好,并且不会发生跳跃。
最近2天内,我一直在尝试解决此问题,似乎没有什么可以阻止这种情况的发生。我确定下面的代码都是标准的,没有什么特别的。我想念什么吗?
下面是我的代码:
SearchController -在UITabBarController中,它是UINavigationController()
class SearchController: UITableViewController {
fileprivate var searchController: UISearchController!
fileprivate let searchResultsController = SearchResultsController()
fileprivate func setSearchController() {
definesPresentationContext = true
searchController = UISearchController(searchResultsController: searchResultsController)
searchController.searchBar.delegate = self
searchController.searchBar.placeholder = "Search organisers and classes"
searchController.searchBar.isTranslucent = false
navigationItem.searchController = searchController
navigationItem.hidesSearchBarWhenScrolling = false
}
extension SearchController: UISearchBarDelegate {
func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
guard let text = searchBar.text else { return }
searchController.searchBar.text = term
searchController.isActive = true
searchController.searchBar.resignFirstResponder()
searchResultsController.search(term: text)
}
}
}
SearchResultsController
class SearchResultsController: UICollectionViewController, UICollectionViewDelegateFlowLayout {
func search(term: String) {
print(term)
}
override func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
presentingViewController?.navigationController?.pushViewController(DetailsController(), animated: true)
}
}