在导航推送时激活UISearchController而不显示动画

时间:2016-03-12 17:43:24

标签: ios uisearchcontroller

UISearchDisplayController中有一种方法可以在viewWillAppear:方法中将其设置为无动画,因此视图控制器将使用已经激活的UISearchDisplayController和已经显示的键盘进行推送,这很漂亮不错。但它现在已被弃用。

现在我们有UISearchController而且我只能用两个动画做到:首先是导航推送,然后是激活动画。我只想看到导航推送动画,而searchController已经用搜索栏激活,作为第一响应者和键盘显示。

我试过

    UIView.performWithoutAnimation { () -> Void in
        self.searchController.active = true
    }

并尝试使用自定义空呈现委托方法

func presentSearchController(searchController: UISearchController) {

}

2 个答案:

答案 0 :(得分:1)

不完全是一个答案,但是...

我试图通过将UISearchController设置为.active而不使用动画来消除false,而您的提示UIView.performWithoutAnimation却起到了作用

UIView.performWithoutAnimation { // disable the animation as we are going straight to another view
    searchController.isActive = false
}

答案 1 :(得分:-1)

您可以尝试以下代码:

searchController?.dismiss(animated: false) 
{ () -> Void in
  //completion block
}