Popularity
3.7
Stable
Activity
0.0
Stable
214
7
15

Programming language: Swift
License: MIT License
Tags: UI     Transition    
Latest version: v0.4.0

ImageTransition alternatives and similar libraries

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

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

Add another 'Transition' Library

README

ImageTransition

Build Status Cocoapods Carthage compatible Swift Version GitHub codebeat badge

ImageTransition is a library for smooth animation of images during transitions.

Something looks like below:

e.g. UIImageView e.g. UIImageView in UICollectionView

Feature

  • [x] Transition zooming animation like the iOS Photos app and the "Pinterest", and so on
  • [x] Easy to use (conform to ImageTransitionable protocol)
  • [x] Swifty (protocol-oriented)
  • [x] Animation configuration customizable (animation duration, UIView.AnimationOptions)
  • [x] CornerRadius animation (e.g. from a round image to a square Image)

Installation

Carthage

  • Add github "shtnkgm/ImageTransition" to your Cartfile.
  • Run carthage update.

CocoaPods

  • Add pod 'ImageTransition' to your podfile.
  • Run pod update.

Usage

  • Confirm ImageTransitionable protocol swift // Source UIViewController import ImageTransition extension SourceViewController: ImageTransitionable { var imageViewForTransition: UIImageView? { return imageView } } // Destination UIViewController import ImageTransition extension DestinationViewController: ImageTransitionable { var imageViewForTransition: UIImageView? { return imageView } }
  • Set Delegate

    // present / dismiss transition
    @objc private func imageViewDidTapped() {
        let destinationViewController = DestinationViewController.make()
        destinationViewController.transitioningDelegate = ImageTransitionDelegate.shared
        present(destinationViewController, animated: true, completion: nil)
    }
    
    // push / pop transition
    @objc private func imageViewDidTapped() {
        let destinationViewController = DestinationViewController.make()
        // Set ImageTransitionDelegate.shared to `delegate` property of UINavigationContoller
        navigationController?.delegate = ImageTransitionDelegate.shared
        navigationController?.pushViewController(destinationViewController, animated: true)
    }
    

Customize

You can customize the configuration of animation.

ImageTransitionDelegate.shared.presentDuration = 0.5
ImageTransitionDelegate.shared.dismissDuration = 0.5
ImageTransitionDelegate.shared.pushDuration = 0.5
ImageTransitionDelegate.shared.popDuration = 0.5
ImageTransitionDelegate.shared.presentAnimationOptions = [.curveLinear]
ImageTransitionDelegate.shared.dismissAnimationOptions = [.curveEaseIn]
ImageTransitionDelegate.shared.pushAnimationOptions = [.curveLinear]
ImageTransitionDelegate.shared.popAnimationOptions = [.curveEaseIn]

Requirements

  • iOS 9.0 or later

Contributing

Pull requests and stars are always welcome.

For bugs and feature requests, please create an issue.

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

Author

License

ImageTransition is released under the MIT license. See LICENSE for details.


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