/LTMorphingLabel

A learning-by-doing Swift project cloning the original Morphing Label of iOS 8 introduced in WWDC 2014.

Primary LanguageSwiftMIT LicenseMIT

LTMorphingLabel

A morphing UILabel subclass written in Swift. The .Scale effect is originally introduced by Apple in WWDC 2014. New morphing effects are available as Swift extensions.

enum LTMorphingEffect: Int, Printable

.Scale - default

LTMorphingLabel

LTMorphingLabel-Evaporate

LTMorphingLabel-Fall

LTMorphingLabel-Pixelate

LTMorphingLabel-Sparkle

.Sparkle is built on top of QuartzCore.CAEmitterLayer. There's also a SpriteKit powered version here.

LTMorphingLabel-Burn

LTMorphingLabel-Anvil

Requirements

  1. Xcode 6.0 beta 5+
  2. iOS 7.0+

TODOs & Known issues

  • Improve diff performance
  • Text kerning
  • Align to pixel
  • Text shadow
  • Multiline
  • How to fade in/out Emoji?
  • .FallDownAndFade is buggy
  • Docs

Usage

  1. Copy LTMorphingLabel folder to your iOS 8 project;
  2. Change the class of a label from UILabel to LTMorphingLabel;
  3. Programatically set a new String to its text property.

Unit tests

Open the project with Xcode 6 then press command + u.

Contacts

Follow Lex Tang (@lexrus on Twitter)

License

This code is distributed under the terms and conditions of the MIT license.