Create animation of a UIImageView between two contentMode ( UIViewContentModeScaleAspectFill / UIViewContentModeScaleAspectFit )
My WebSite - My TwitterTo see a demo video, click here
Use Pod (or download and add "UIImageViewModeScaleAspect.h" and "UIImageViewModeScaleAspect.m" in your xcodeprojet.) :
pod 'UIImageViewModeScaleAspect'
Import the .h file :
``` objective-c #import "UIImageViewModeScaleAspect.h" ```Init the UIImageViewModeScaleAspect. Important ! Do not forget to init the contentMode :
``` objective-c UIImageViewModeScaleAspect *myImage = [[UIImageViewModeScaleAspect alloc]initWithFrame:CGRectMake(0, 100, 200, 100)]; myImage.contentMode = UIViewContentModeScaleAspectFill; // Add the first contentMode myImage.image = [UIImage imageNamed:@"becomeapanda_tumblr_com"]; [self.view addSubview:myImage]; ```For convert UIViewContentModeScaleAspectFill to UIViewContentModeScaleAspectFit :
``` objective-c [myImage animateToScaleAspectFitToFrame:CGRectMake(0, 0, 200, 200) WithDuration:0.4f afterDelay:0.0f]; ```For convert UIViewContentModeScaleAspectFit to UIViewContentModeScaleAspectFill :
``` objective-c [myImage animateToScaleAspectFillToFrame:CGRectMake(0, 0, 200, 200) WithDuration:0.4f afterDelay:0.0f]; ```For convert UIViewContentModeScaleAspectFill to UIViewContentModeScaleAspectFit :
``` objective-c [myImage initToScaleAspectFillToFrame:CGRectMake(0, 100, 200, 100)];[UIView animateWithDuration:0.4f delay:0.0f options:UIViewAnimationOptionAllowUserInteraction animations:^{ // // Others Animation // [myImage animaticToScaleAspectFill]; // // Others Animation // } completion:^(BOOL finished) { [myImage animateFinishToScaleAspectFill]; }];
<p>For convert UIViewContentModeScaleAspectFit to UIViewContentModeScaleAspectFill :</p>
``` objective-c
[myImage initToScaleAspectFitToFrame:CGRectMake(0, 0, 200, 200)];
[UIView animateWithDuration:0.4f delay:0.0f options:UIViewAnimationOptionAllowUserInteraction
animations:^{
//
// Others Animation
//
[myImage animaticToScaleAspectFit];
//
// Others Animation
//
} completion:^(BOOL finished) {
[myImage animateFinishToScaleAspectFit];
}];