Programming language: Objective-C
License: MIT License
Tags: UI    
Latest version: v0.3.2

SYBlinkAnimationKit alternatives and similar libraries

Based on the "UI" category.
Alternatively, view SYBlinkAnimationKit alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of SYBlinkAnimationKit or a related project?

Add another 'UI' Library


Platform Carthage compatible Awesome Language GitHub license

SYBlinkAnimationKit is a blink effect animation framework for iOS, written in Swift :bowtie:

:eyes: Demo

There are 5 types of animation for component.






:octocat: Features

  • Animation like blink effect for UIKit
  • The 5 types of animation : border, borderWithShadow, background, ripple, text
  • Easily usable :stuck_out_tongue_closed_eyes:
  • Customizable in any properties for animation
  • [x] Support Swift 3.0 :tada:
  • [x] Support @IBDesignable and @IBInspectable. you can change properties in Interface Builder(IB) inspector. then IB update your custom objects automatically.
  • [x] Compatible with Carthage

  • [x] SYButton

  • [x] SYLabel

  • [x] SYTextField

  • [x] SYView

  • [x] SYTableViewCell

  • [x] SYCollectionViewCell

Coming Soon

  • [ ] SYTextView
  • [ ] SYImageView

Demo App

Open Example/SYBlinkAnimationKit.xcworkspace and run SYBlinkAnimationKit-Example to see a simple demonstration.

To run the example project, run pod install from the Example directory first.

:large_orange_diamond: Usage

First, Import SYBlinkAnimationKit in class.

   import SYBlinkAnimationKit

SYBlinkAnimationKit is designed to be easy to use.

  1. Call the SYClass. for example,SYButton, SYLabel, SYTextField, etc.
  2. If you use custom animation, call animation method startAnimating(), stopAnimating()


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

  //Run Animation
  //End Animation
Text Animation

Available Text Animation because of handleable text.

If you change text font size, name, you are supposed to call the `setFont()

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


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

SYLabel Available Text Animation because of handleable text.

If you set text color, you are supposed to set the labelTextColor property. To change text font, use font method as with SYButton.

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


Inherit SYTableViewCell. customize your TableViewCell in UITableViewDataSource.

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


Inherit SYCollectionViewCell. customize your CollectionViewCell in UICollectionViewDataSource.

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


SYTextField stop animation. when a touch. but you can control this behavior.

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

:wrench: Customize animation properties

Animation Type

If you just want to change the types of animation, you can customize 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

Set animationAdapter (with Integer) in place of animationType in IB.

  • border: 0
  • borderWithShadow: 1
  • background: 2
  • ripple: 3
  • text: 4

Animation Color

You can customize the properties of the color. These properties are inspectable.

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

Animation Duration, Timing

You can customize animationTimingFunction, animationDuration.

   //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

Set animationTimingAdapter (with Integer) in place of animationTimingFunction in IB.

  • linear: 0
  • easeIn: 1
  • easeOut: 2
  • easeInEaseOut: 3

Customize Animatable Text

You can customize Animatable Text alignment. Support 9 types of alignment. Available SYButton, SYLabel now.

    var textAlignmentMode: TextAlignmentMode

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

Whether animating or not

If SYClass is in middle of animation, this property is true

   public var isAnimating: Bool

:computer: Installation


SYBlinkAnimationKit is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "SYBlinkAnimationKit"


Add the following line to your Cartfile:

github "shoheiyokoyama/SYBlinkAnimationKit"

:pencil: Requirements

  • iOS 8.3+
  • Xcode 9.0+
  • Swift 3.2+

:coffee: Author

Shohei Yokoyama, [email protected]

:unlock: License

SYBlinkAnimationKit is available under the MIT license. See the LICENSE file for more info.

*Note that all licence references and agreements mentioned in the SYBlinkAnimationKit README section above are relevant to that project's source code only.