BlinkAnimationKit 0.3.4

BlinkAnimationKit 0.3.4

Isuru Ranasinghe 维护。



  • Isuru Ranasinghe

Platform Awesome Language GitHub license

BlinkAnimationKit 是一个针对 iOS 的闪烁效果动画框架,使用 Swift 5 编写。应归功于原始作者 Shohei Yokoyama。这是他针对 Swift 5 更新过的库 :bowtie:

👀示例

组件有 5 种动画类型。

边框

带阴影的边框

背景

波纹

文本

:octocat: 特性

  • 类似于 blink 效果的 UIKit 动画

  • 5 种动画类型: borderborderWithShadowbackgroundrippletext

  • 易于使用😝

  • 在任意属性上可自定义动画

  • 支持 Swift 5.0🎉

  • 支持 @IBDesignable@IBInspectable。您可以在 Interface Builder 价格检查器 (IB) 中更改属性。然后 IB 会自动更新您的自定义对象。

  • 兼容 Carthage

  • SYButton

  • SYLabel

  • SYTextField

  • SYView

  • SYTableViewCell

  • SYCollectionViewCell

即将推出

  • SYTextView
  • SYImageView

示例应用

打开 Example/BlinkAnimationKit.xcworkspace 并运行 BlinkAnimationKit-Example 查看简单示例。

要运行示例项目,首先从示例目录运行 pod install

🔶用法

首先在类中导入 SYBlinkAnimationKit

   import BlinkAnimationKit

BlinkAnimationKit 被设计成易于使用。

  1. 调用 SYClass 例如,SYButtonSYLabelSYTextField 等。
  2. 如果要使用自定义动画,请调用动画方法 startAnimating()stopAnimating()

SYButton

   let button = SYButton(frame: CGRect(x: 40, y: 50, width: 300, height: 50 ))
   button.setTitle("Border Animation", forState: .normal)
   button.animationType = .border
   view.addSubview(button)

  //Run Animation
  syButton.startAnimating()
  //End Animation
  syButton.stopAnimating()

文本动画

由于文本可操作,可用文本动画

如果您更改文本字体大小、名称,应调用 `setFont()`。

    button
        .setFont(name: "ArialHebew", ofSize: 21)
        .startAnimating()

SYLabel

   let label = SYLabel(frame: CGRect(x: 40, y: 50, width: 300, height: 50 ))
   label.text = "Text Animation"
   label.labelTextColor =  .darkGray
   label.animationType = .text
   view.addSubview(label)

文本动画

SYLabel 由于文本可操作,可用文本动画

如果您设置文本颜色,应设置 labelTextColor 属性。要更改字体,使用与 SYButton 相同的字体方法。

    label
        .setFont(name: "ArialHebew", ofSize: 21)
        .startAnimating()

SYTableViewCell

继承 SYTableViewCell。在 UITableViewDataSource 中自定义您的 TableViewCell

class YourCell: SYTableViewCell {
    ...
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier("YourCell", forIndexPath: indexPath) as! YourCell
        cell.animationType = .background
        cell.startAnimating()
        return cell
    }

SYCollectionViewCell

继承 SYCollectionViewCell。在 UICollectionViewDataSource 中自定义您的 CollectionViewCell

class YourCell: SYCollectionViewCell {
    ...
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
        let cell = collectionView.dequeueReusableCellWithReuseIdentifier("YourCell", forIndexPath: indexPath) as! YourCell
        cell.animationType = .background
        cell.startAnimating()
        return cell
    }

SYTextField

SYTextField 停止动画。当触摸时。但是你可以控制这种行为。

   //The animation stop. when a touch. default is true
   syTextField.stopAnimationWithTouch = true

🔧自定义动画属性

动画类型

如果你只想更改动画类型,可以自定义 animationType

   // default is border
   var animationType: AnimationType

   // Support 5 types of animation
   enum AnimationType: Int {
        case border
        case borderWithShadow
        case background
        case ripple
        case text
    }

inspectable

IB 中用 animationAdapter(整数)替换 animationType

  • 边框: 0
  • 带阴影的边框: 1
  • 背景: 2
  • 波纹: 3
  • 文本: 4

动画颜色

你可以自定义颜色属性。这些属性是 inspectable

   var animationBorderColor: UIColor
   var animationBackgroundColor: UIColor
   var animationTextColor: UIColor
   var animationRippleColor: UIColor

动画持续时间和计时

你可以自定义 animationTimingFunctionanimationDuration

   //default is linear
   var animationTimingFunction: SYMediaTimingFunction

   enum SYMediaTimingFunction: Int {
        case linear
        case easeIn
        case easeOut
        case easeInEaseOut
   }
   //default is 1.5
   public var animationDuration: CGFloat

inspectable

IB 中用 animationTimingAdapter(整数)替换 animationTimingFunction

  • 线性: 0
  • 加速进入: 1
  • 减速离开: 2
  • 加速进入或减速离开: 3

自定义动画文本

您可以为动画文本指定对齐方式。支持9种对齐方式。目前支持 SYButtonSYLabel

    var textAlignmentMode: TextAlignmentMode

    enum TextAlignmentMode {
        case topLeft, topCenter, topRight
        case left, center, right
        case bottomLeft, bottomCenter, bottomRight
    }

是否动画

如果 SYClass 正在进行动画,则该属性为 true

   public var isAnimating: Bool

💻安装

CocoaPods

BlinkAnimationKit 可以通过 CocoaPods 获取。要安装它,只需将以下行添加到您的 Podfile 中

pod "BlinkAnimationKit"

📝需求

  • iOS 10.0+
  • Xcode 10.0+
  • Swift 5.0+

☕️作者

Isuru Ranasinghe,[email protected] ,Shohei Yokoyama,[email protected]

🔓许可协议

BlinkAnimationKit 在 MIT 许可协议下可用。有关更多信息,请参阅 LICENSE 文件