如何在UISearchController演示/解雇动画旁边制作动画?

时间:2015-05-20 17:42:15

标签: ios cocoa-touch uikit uisearchcontroller

我有一个包含tableHeaderView搜索栏的表格视图,由UISearchController管理。我使用标准UISearchController演示动画。

我想为与searchBar动画具有相同持续时间的另一个视图设置动画。我尝试了各种持续时间值但是它们在任何时候都不完全匹配。

所以我认为使用-[UIViewControllerTransitionCoordinator animateAlongsideTransition:completion:] API会很棒。

不幸的是我找不到<UIViewControllerTransitionCoordinator>对象的引用。具体而言,searchController.presentingViewController.transitionCoordinatornil

1 个答案:

答案 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