• This repository has been archived on 27/Nov/2018
  • Stars
    star
    572
  • Rank 77,995 (Top 2 %)
  • Language
    Swift
  • License
    MIT License
  • Created over 11 years ago
  • Updated about 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Create animation of a UIImageView between twice contentMode ( UIViewContentModeScaleAspectFill / UIViewContentModeScaleAspectFit )

Twitter: @VivienCormier Build Status codecov

UIImageViewModeScaleAspect (2.0)

Create animation of a UIImageView between two contentMode ( UIViewContentModeScaleAspectFill / UIViewContentModeScaleAspectFit )

My WebSite - My Twitter

Compatible Swift 3.0

Screenshot & Demo Video

To see a demo video, click here

ScreenShot Demo Video ScreenShot Demo Video

How To Get Started

Use Pod (or download and add "UIImageViewModeScaleAspect.swift" in your xcodeprojet.) :

pod 'UIImageViewModeScaleAspect'

Init the UIImageViewModeScaleAspect. Important ! Do not forget to init the contentMode :

``` swift let myImage = UIImageViewModeScaleAspect(frame: CGRect(x: 0, y: 100, width: 200, height: 100)) myImage.contentMode = .scaleAspectFill // Add the first contentMode myImage.image = UIImage(named: "Octocat") view.addSubview(myImage) ```

Automatic animation

For convert UIViewContentModeScaleAspectFill to UIViewContentModeScaleAspectFit :

``` swift myImage.animate( .fit, frame: CGRect(x: 0, y: 0, width: 200, height: 200), duration: 0.4) ```

For convert UIViewContentModeScaleAspectFit to UIViewContentModeScaleAspectFill :

``` swift myImage.animate( .fill, frame: CGRect(x: 0, y: 0, width: 200, height: 200), duration: 0.4) ```

Manual animation

For convert UIViewContentModeScaleAspectFill to UIViewContentModeScaleAspectFit :

``` swift myImage.initialeState(.fit, newFrame: CGRect(x: 0, y: 100, width: 200, height: 100))

UIView.animate(withDuration: 0,4, delay: 0, options: .allowAnimatedContent, animations: { // // Others Animation // myImage.transitionState(.fit) }, completion: { (finished) in myImage.endState(.fit) })


<p>For convert UIViewContentModeScaleAspectFit to UIViewContentModeScaleAspectFill :</p>
``` swift
myImage.initialeState(.fill, newFrame: CGRect(x: 0, y: 100, width: 200, height: 100))

UIView.animate(withDuration: 0,4, delay: 0, options: .allowAnimatedContent, animations: {
  //
  // Others Animation
  //
  myImage.transitionState(.fill)
}, completion: { (finished) in
  myImage.endState(.fill)
})