Skip to content

Ken Burns effect for iOS. The feature enables a widely used technique of embedding still photographs in motion pictures, displayed with slow zooming and panning effects, and fading transitions between frames.

License

Notifications You must be signed in to change notification settings

jberlana/JBKenBurns

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

iOS Ken Burns effect

The goal of this project is to create a UIView that can generate a Ken Burns transition when given an array of UIImage objects.

image

To use it, you simply need an instance of JBKenBurnsView and call this method to start the action:

[self.kenView animateWithImages:myImages
                 transitionDuration:6
                       initialDelay:0
                               loop:YES
                        isLandscape:YES];

Installation

I recommend use CocoaPods to install JBKenBurnsView. Simply add the following line to your Podfile:

Podfile

pod 'JBKenBurnsView'

But you can also just drop JBKenBurnsView.m and JBKenBurnsView.h in your project.

Documentation

The project is documented using AppleDocs syntax. But this is a summary:

Start the slideshow

You can start an animation using an NSArray of UIImage or NSString with the paths to the images calling:

- (void)animateWithImages:(NSArray *)images
       transitionDuration:(float)time
             initialDelay:(float)delay
                     loop:(BOOL)isLoop
              isLandscape:(BOOL)isLandscape;

or

- (void)animateWithImagePaths:(NSArray *)imagePaths
           transitionDuration:(float)time
                 initialDelay:(float)delay
                         loop:(BOOL)isLoop
                  isLandscape:(BOOL)isLandscape;
  1. images: NSArray of UIImages.
  2. time: Time in seconds for the transition between images.
  3. delay: Time in seconds until the transition should start.
  4. isLoop: YES if the animation should start again when ended.
  5. isLandscape: If YES optimized to show in Landscape mode.

Stop the animation

When the transition has started you can stop the animation calling:

- (void)stopAnimation;

Add new images to the animation

Or add new images to the array of images in the slide show with:

- (void)addImage:(UIImage *)image;

KenBurnsViewDelegate

There is a protocol that notifies to the delegate when an image changes or the slideshow ended.

@protocol KenBurnsViewDelegate <NSObject>

@optional
- (void)kenBurns:(JBKenBurnsView *)kenBurns didShowImage:(UIImage *)image atIndex:(NSUInteger)index;
- (void)kenBurns:(JBKenBurnsView *)kenBurns didFinishAllImages:(NSArray *)images;

@end

TODO

  • Need to allow device rotation.
  • Improvements on image transition effects.

Demo

Build and run the KenBurnsDemo project in Xcode to see JBKenBurnsView in action.

Swift version

@gatada wrote a Swift version of JBKenBurnsView that you can find here.

Communication

  • If you found a bug, open an issue.
  • If you have a feature request, open an issue.
  • If you want to contribute, submit a pull request.

Thanks a lot to all the people that have collaborated on this library:

Contact

Javier Berlana

License

JBKenBurnsView is available under the MIT license. See the LICENSE file for more info.

-- ###SweetBits, welcome to the candy factory.###

About

Ken Burns effect for iOS. The feature enables a widely used technique of embedding still photographs in motion pictures, displayed with slow zooming and panning effects, and fading transitions between frames.

Resources

License

Stars

Watchers

Forks

Packages

No packages published