APKenBurnsView 0.1.2

APKenBurnsView 0.1.2

测试已测试
Lang语言 SwiftSwift
许可 MIT
发布最后发布2016年6月
SPM支持 SPM

Nickolay Sheika 维护。



  • Nickolay Sheika

APKenBurnsView

APKenBurnsView

Build Status

具有面部识别的 Ken Burns 效果!

APKenBurnsView 是一个支持面部识别,能够美观地动画化人物照片的 UIView 子类。

APKenBurnsView

功能

  • 面部识别功能,美观地动画化人物照片。
  • 完全随机的算法。不再需要硬编码值!
  • 内存高效。在任何时刻最多保留两个 UIImage 指针。
  • 动画暂停处理得当。
  • 进入后台后自动重启。
  • 提供大量动画自定义选项以满足您的需求。

面部识别

APKenBurnsView 支持三种面部识别模式:

  • None - 不进行面部识别,简单的 Ken Burns 效果。
  • Biggest - 识别图像中最大的面部,如果有的话,过渡将在面部矩形中心开始或结束(随机选择)。
  • Group - 识别图像中所有面部,如果有的话,过渡将在所有面部复合矩形中心开始或结束(随机选择)。

用法

简单的接口。提供 UIImage 的数据源类,设置所有时间并运行 startAnimations。不涉及深奥的技术!

数据源应在 APKenBurnsView 调用 func nextImageForKenBurnsView(kenBurnsView: APKenBurnsView) -> UIImage? 的时刻准备好提供下一张图像。如果没有准备好的 UIImage(例如,仍在从网络上加载等),则数据源应返回 nil,并且 APKenBurnsView 将再次动画化最后一张图像。如果您从网络上加载图像,您应该考虑某种预加载机制。

用法示例

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 */
    }
}

示例

要运行示例项目,首先克隆仓库,然后从示例目录运行 pod install。

要求

  • iOS 8.0 及以上
  • ARC

安装

APKenBurnsView 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中:

pod 'APKenBurnsView'

作者

Nickolay Sheika, [email protected]

联系方式

如果您有改进或关注点,请随时发布 一个问题 并描述详细信息。

查看所有 Alterplay 的 GitHub 项目。 用其他想法和项目 给我们发邮件

许可证

APKenBurnsView 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。