文件名称:ios-水波纹刷新效果.zip
文件大小:131KB
文件格式:ZIP
更新时间:2022-07-31 12:03:34
刷新控件
类似水波纹效果,可用于下拉刷新。 实现原理: 由水波纹的特点类似于波浪形状,因此可根据正弦函数f(x) = Asin(ωx φ)来实现波浪的形状。 A震动时所能达到的最高和最低点; 正弦完整的周期T = 2π/ω,因此周期越长,ω值越小 φ为相位,当φ为0时,x=0,则y=0.φ>0,则正弦函数向左偏移,φ<0,正弦函数向右偏移。 由上函数,要使我们的波浪向右移动,因此φ必须小于0 如何使用? 1. 创建FFWaveView对象,将其添加到要使用的视图上,并设置Frame // FFWaveView setup waveView = FFWaveView.addTo(view: tableview.tableHeaderView!, frame: CGRect(x: 0, y: headerView.frame.size.height - 10, width: view.frame.size.width, height: 10)) // optional waveView.waveColor = UIColor.white waveView.waveSpeed = 10 waveView.angularSpeed = 1.5 调用 func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) { //拖拽时,开始执行 if waveView.startWave() { DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() 3) { //延时结束动画 self.waveView.stopWave() } } } 1.可修改水波纹x移动的速度 2.可修改水波纹的颜色 3.可修改水波纹的周期 github:https://github.com/fzj270452746/WaveAnimationDemo 如果喜欢,请赏个星,谢谢! 如有问题,欢迎小伙伴们来讨论交流,本人Q:270452746
【文件预览】:
WaveAnimationDemo
----.DS_Store(6KB)
----WaveAnimationDemo()
--------ViewController.swift(2KB)
--------.DS_Store(6KB)
--------Info.plist(1KB)
--------AppDelegate.swift(2KB)
--------FFWaveView()
--------Base.lproj()
--------Assets.xcassets()
----.git()
--------logs()
--------info()
--------lfs()
--------index(2KB)
--------COMMIT_EDITMSG(2B)
--------objects()
--------HEAD(23B)
--------config(330B)
--------FETCH_HEAD(111B)
--------ORIG_HEAD(41B)
--------refs()
--------hooks()
--------description(73B)
----wave.gif(23KB)
----WaveAnimationDemo.xcodeproj()
--------project.xcworkspace()
--------xcuserdata()
--------project.pbxproj(12KB)