我有一个包含tableHeaderView
搜索栏的表格视图,由UISearchController
管理。我使用标准UISearchController
演示动画。
我想为与searchBar动画具有相同持续时间的另一个视图设置动画。我尝试了各种持续时间值但是它们在任何时候都不完全匹配。
所以我认为使用-[UIViewControllerTransitionCoordinator animateAlongsideTransition:completion:]
API会很棒。
不幸的是我找不到<UIViewControllerTransitionCoordinator>
对象的引用。具体而言,searchController.presentingViewController.transitionCoordinator
为nil
。
答案 0 :(得分:4)
我遇到了同样的问题,我需要在UISearchController
的演示文稿旁边制作其他视图的动画。在显示搜索控制器的调用后,transitionCoordinator
变为可用,您可以添加代码来为视图设置动画
<强>呈现强>
func search() {
let searchController = UISearchController(searchResultsController: resultsController)
// Configure search controller
self.present(searchController, animated: true) {}
self.transitionCoordinator?.animate(alongsideTransition: { (context) in
// animate other views
}, completion: nil)
}
我还必须在解雇搜索控制器时为视图设置动画,在这种情况下,我实现willDismissSearchController
的{{1}}方法,UISearchControllerDelegate
在此方法中不能立即使用进行异步调用可以解决问题
<强>驳回:强>
transitionCoordinator
这适用于iOS 9