Inspired by Fabric - Answers animation. Allows to "build" given view with pieces. Allows to "destroy" given view into pieces
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.bundle
ADPuzzleAnimation.xcodeproj
ADPuzzleAnimation.xcworkspace
ADPuzzleAnimation
ADPuzzleAnimationTests
Example
Source
fastlane
.gitignore
.travis.yml
CHANGELOG.yml
Gemfile
Gemfile.lock
LICENSE
Podfile
Podfile.lock
PuzzleAnimation.podspec
README.md

README.md

ADPuzzleAnimation

CocoaPods Compatible Carthage compatible codebeat badge

Whats inside

Custom animation for UIView inspired by Fabric - Answers animation.

Easy to use

To create your first animation you need to know only about one method:

/**
 Designated initializer for puzzle animation and it's subclasses
 
 - parameter viewToAnimate: view to render into pieces
 - parameter configuration: animation configuration
 
 - returns: newly created animation instance
 */
init(viewToAnimate: UIView, configuration: PuzzleAnimationConfiguration = PuzzleAnimationConfiguration())

It's flixible - you can configure almost any parameter for the animation:

/**
 *  Defines the structure that contains configurable parameters for puzzle animation
*/
struct PuzzleAnimationConfiguration {

  /// Defines the animation velocity. Higher velocity less animation duration
  var animationVelocity: NSTimeInterval = 1

  /// Defines the delay between each piece in piece's group animation
  var pieceAnimationDelay: PuzzleAnimationDelay = defaultForwardPieceAnimationDelay

  /// Defines the delay between each group of pieces animation
  var pieceGroupAnimationDelay: PuzzleAnimationDelay = defaultForwardPieceGroupAnimationDelay

  /// Defines the animation piece's scale
  var animationScale: Double = 2.5

  /// Each piece represents square and this value represents the number of pixels of square side
  var pieceSide: CGFloat = 40
}

Handle callbacks about status to start new animation or do something else:

/// Called when animation completed, stoped or failed
/// @note You can set it any time even during the animation
public var animationCompletion: PuzzleAnimationCompletion?

Intuitive and simple interface:

/**
 Starts the animation. Makes view to animate hidden
*/
public func start()
    
/**
 Stops the animation. Removes all pieces from superview. Makes view to animate visible
 */
public func stop()

For the complete example check the viewController.swift

Easy to install

CocoaPods

To integrate ADPuzzleAnimation into your Xcode project using CocoaPods, specify it in your Podfile:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!

pod 'PuzzleAnimation', '~> 1.1.1'

Carthage

To integrate ADPuzzleAnimation into your Xcode project using Carthage, specify it in your Cartfile:

github "Antondomashnev/ADPuzzleAnimation" ~> 1.1.1

Run carthage update to build the framework and drag the built ADPuzzleAnimation.framework into your Xcode project.