WaveAnimationView 1.0.2

WaveAnimationView 1.0.2

maniCreate 维护。



  • 作者
  • mani

概述 - WaveAnimationView

WaveAnimationView-header-min

WaveAnimationView 是一个用于安装波浪进度动画的库。
看起来像下面这样

进度 加载 背景
sample_1 sample_2 sample_3

安装

WaveAnimationView 通过 CocoaPods 和 Carthage 提供。
要安装,只需将以下行添加到您的 Podfile 或 Cartfile 中

CocoaPods

将以下行添加到您的 Podfile 中

pod "WaveAnimationView"

然后运行 pod install,然后在项目中导入它

import WaveAnimationView

Carthage

将以下行添加到您的 Cartfile 中

github 'maniCreate/WaveAnimationView'

然后运行 carthage update,将 WaveAnimationView.framework 导入您的 Xcode 项目。

如何使用

您可以简单地通过写下以下三行代码将 WaveAnimationView 安装到您的应用程序中

import UIKit
import WaveAnimationView

class ViewController: UIViewController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        // 1
        let wave = WaveAnimationView(frame: CGRect, color: UIColor)
        
        //superView.addSubView(WaveAnimationView)
        
        // 2
        wave.startAnimation()
        
    }
    
    override func viewDidDisAppear() {
        super.viewDidDisAppear(animated)
        
        // 3 - Be sure to read the following Attension!
        wave.stopAnimation()
        
    }
}

⚠️注意

WaveAnimationView是通过ScheduledTimer进行动画,而不是通过UIView.animate或Core Animation。

//Start wave Animation
open func startAnimation() {
    timer = Timer.scheduledTimer(timeInterval: 0.035, target: self, selector: #selector(waveAnimation), userInfo: nil, repeats: true)
}    

因此,请确保在ViewController的ViewDidDisAppear或deinit中调用此方法。如果不调用,将会因为Timer导致内存泄露。

open func stopAnimation() {
    timer.invalidate()
}

选项

前后填充颜色

波的填充颜色可以单独设置填充颜色。

let wave = WaveAnimationView(frame: CGRect, frontColor: UIColor, backColor: UIColor)

设置一种颜色

let wave = WaveAnimationView(frame: CGRect, color: UIColor)

遮罩图

可以通过设置包含实色和透明区域的图像来遮罩WaveAnimationView。

let wave = WaveAnimationView(frame: CGRect, color: UIColor)
wave.maskImage = UIImage(named: "image name")

设置/获取进度

进度设置和获取的方式与UIProgressView相同

・获取进度

let wave = WaveAnimationView(frame: CGRect, color: UIColor)
wave.progress = 1.0 //0.0 .. 1.0, default is 0.5

・设置进度

//Example: UISlider
@IBAction func slide(_ sender: UISlider) {

     self.wave.setProgress(to: sender.value //0.0 .. 1.0)
     
}

许可证

WaveAnimationView是在MIT许可证下发布的。
请阅读LICENSE文件以获取更多信息。

联系方式

如果您对该库有任何意见或建议,请通过Twitter回复我!
Twitter: @mani_transm