使用 Swift 在 iOS 中平滑搜索栏动画
Posted
技术标签:
【中文标题】使用 Swift 在 iOS 中平滑搜索栏动画【英文标题】:Smooth Search Bar Animations in iOS with Swift 【发布时间】:2017-03-01 17:05:44 【问题描述】:如何在 ios 10 设置应用中实现流畅的搜索栏动画?我尝试了不同的方法,但似乎都很紧张,尤其是在编辑结束或按下取消按钮时。是否有一些我遗漏的代码或者我的代码做错了什么?我怀疑下面的代码与动画跳帧有关:
func searchBarTextDidEndEditing(_ searchBar: UISearchBar)
searchBar.setShowsCancelButton(false, animated: true)
func searchBarCancelButtonClicked(_ searchBar: UISearchBar)
self.view.endEditing(true)
searchBar.setShowsCancelButton(false, animated: true)
【问题讨论】:
【参考方案1】:这里有一些东西。
在所有动画过程中,如果您没有在动画内部调用view.layoutIfNeeded()
的最高父视图,它们更有可能看起来很紧张。
如果搜索栏嵌套在任何类型的滚动视图(包括 tableViews/collectionViews)内,那么可能符合 delaysContentTouches 设置。如果是这种情况,请在 scrollView 内将其设置为 false ,看看这是否有帮助。它还可能使滚动变得不那么容易理解,因此并不总是能让事情变得更好。
动画永远不会在他们被告知发生的确切时刻发生。它们被放入队列中,然后每隔一段时间就会触发队列中的所有动画。这通常看起来是在同一时刻发生的,但它的差异可能足以使事情与您的预期不同。
here 有很多关于基本 iOS 内容的好信息,您可能会觉得有用,我是 Paul Hegarty's Standford iOS Swift course 的忠实粉丝。
【讨论】:
以上是关于使用 Swift 在 iOS 中平滑搜索栏动画的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Core Animation 中平滑更新动画的 toValue/end 点?
带有webgl的ios8 webview =在网络应用程序中平滑滚动?