Home

Awesome

APKenBurnsView

APKenBurnsView

Build Status Version License Platform

Ken Burns effect with face recognition!

APKenBurnsView is UIView subclass which supports face recognition to beautifully animate people photos.

APKenBurnsView

Features

Face Recognition

APKenBurnsView supports three modes for face recognition:

Usage

Just simple interface. Provide data source class for UIImage's, setup all timings and run startAnimations(). No rocket science!

Data source should be ready to provide next image at the moment when APKenBurnsView calls func nextImageForKenBurnsView(kenBurnsView: APKenBurnsView) -> UIImage?. If there is no UIImage ready (still loading from network, etc.) then data source should return nil and APKenBurnsView will animate last image one more time. If you are loading your images from network you should consider some preloading mechanism.

Example of usage:

class MyViewController: UIViewController {
    // MARK: - Outlets 
    @IBOutlet weak var kenBurnsView: APKenBurnsView!

    // MARK: - Lifecycle
    override func viewDidLoad() {
        super.viewDidLoad()

        kenBurnsView.dataSource = self
        kenBurnsView.faceRecognitionMode = .Biggest
        
        kenBurnsView.scaleFactorDeviation = 0.5
        kenBurnsView.imageAnimationDuration = 5.0
        kenBurnsView.imageAnimationDurationDeviation = 1.0
        kenBurnsView.transitionAnimationDuration = 2.0
        kenBurnsView.transitionAnimationDurationDeviation = 1.0
    }

    override func viewDidAppear(animated: Bool) {
        super.viewDidAppear(animated)

        self.kenBurnsView.startAnimations()
    }
}
    
extension KenBurnsViewController: APKenBurnsViewDataSource {
    func nextImageForKenBurnsView(kenBurnsView: APKenBurnsView) -> UIImage? {
        return /* Provide UIImage instance */
    }
}

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Requirements

Installation

APKenBurnsView is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'APKenBurnsView'

Author

Nickolay Sheika, hawk.ukr@gmail.com

Contacts

If you have improvements or concerns, feel free to post an issue and write details.

Check out all Alterplay's GitHub projects. Email us with other ideas and projects.

License

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