如何在Swift的搜索栏中制作动画?

时间:2018-07-23 21:01:03

标签: ios swift uisearchbar uiviewanimation

我需要一些使用swift简化(滑入)搜索栏的帮助,我曾尝试查找教程等,但似乎找不到任何东西。 视觉表示将是这样的:

当我单击导航栏右侧的放大镜图标时,我希望搜索栏从左侧滑入。我发现的所有教程都是关于在导航栏或静态栏下创建搜索栏的。

3 个答案:

答案 0 :(得分:0)

您可以签出navigationItem.titleView来将搜索栏直接放置在导航栏上,但是实现所需的动画将非常棘手。还要看看this问题,其中包含有关您问题的一些提示。

答案 1 :(得分:0)

首先,我声明搜索栏:

var searchBar: UISearchBar!

在viewDidLoad()函数上,我启动了搜索栏,如下所示:

self.searchBar = UISearchBar(frame: CGRect(x:300, y:0, width:300, height:20))

单击放大镜后,我运行以下代码:

UIView.animate(withDuration: 0.25) {
    self.searchBar.frame = CGRect(x:0, y:0, width:300, height:20)
}

希望这会有所帮助!

答案 2 :(得分:0)

您可以实现UISearchBarDelegate并像这样播放某些alpha或大小动画:

class MyViewController: UIViewController, UISearchBarDelegate {
    func searchBarCancelButtonClicked(_ searchBar: UISearchBar) {

        UIView.animate(withDuration: 0.6, animations: { /*animate here*/ }, completion:  nil)
    }
}