GradientAnimator 1.3.1

GradientAnimator 1.3.1

Jaison Joseph 维护。



  • 作者
  • Jaison Joseph

GradientAnimator

GradientAnimator 帮助您用鲜艳的渐变主题颜色填充视图,并使它们动画化,为您的应用程序设计提供令人惊艳的视觉效果

预览

安装

Cocoapods 安装 "pod 'GradientAnimator', '~> 1.3.1'"

兼容性

  • iOS 11.0+
  • Swift 5

使用方法

  1. 安装库后,将其导入控制器

  2. Gradient Animator 有预定义的主题 “GradientThemes”,您可以使用我们的主题

let gradientView = GradientAnimator(frame: self.view.frame, theme: GradientThemes.Sunrise, _startPoint: GradientPoints.bottomLeft, _endPoint: GradientPoints.topRight, _animationDuration: 3.0)
  1. 您也可以使用以下初始化器设置您选择的自定义 UIColor 组合,按照顺序
 let gradientView = GradientAnimator(frame: self.frame, inputColors: [#colorLiteral(red: 0.9195817113, green: 0.04345837981, blue: 0.7682360411, alpha: 1),#colorLiteral(red: 0.1406921148, green: 0.05199617893, blue: 0.8817588687, alpha: 1),#colorLiteral(red: 0.9254902005, green: 0.2352941185, blue: 0.1019607857, alpha: 1),#colorLiteral(red: 0.2745098174, green: 0.4862745106, blue: 0.1411764771, alpha: 1),#colorLiteral(red: 0.9725490196, green: 0.7647058824, blue: 0.8039215686, alpha: 1)], _startPoint: GradientPoints.bottomLeft, _endPoint: GradientPoints.topRight, _animationDuration: 2.0)
  1. 渐变点 - 渐变点用于确定动画起始和结束的位置,以及下一个过渡的起始点状态和结束点状态
enum GradientPoints: Int {
case left
case top
case right
case bottom
case topLeft
case topRight
case bottomLeft
case bottomRight
}
  1. 初始化渐变视图后,我们需要在子视图的索引零位置插入渐变视图,然后调用startAnimate()方法以开始您的动画
let gradientView = GradientAnimator(frame: self.view.frame, theme: GradientThemes.Sunrise, _startPoint: GradientPoints.bottomLeft, _endPoint: GradientPoints.topRight, _animationDuration: 3.0)
self.view.insertSubview(gradientView, at: 0)
gradientView.startAnimate()
  1. 为了您的方便,我们编写了一个UIView的扩展,这样您就可以在您希望渐变动画存在的任何视图中简单调用它,使用上面的代码
extension UIView{
func setGradient(){
self.removeGradient()

let gradientView = GradientAnimator(frame: self.frame, theme: GradientThemes.Sunrise, _startPoint: GradientPoints.bottomLeft, _endPoint: GradientPoints.topRight, _animationDuration: 3.0)
gradientView.tag = 007
self.insertSubview(gradientView, at: 0)
gradientView.startAnimate()

}
func removeGradient(){
if let gradView : GradientAnimator = self.subviews.filter({$0.tag == 007}).first as? GradientAnimator{
gradView.removeFromSuperview()
}
}
}

作者

iLeaf Solutions http://www.ileafsolutions.com