如何将UIImageView动画导出为gif

时间:2019-12-26 00:59:23

标签: swift uiimageview uiimage uiviewanimation

我有一个带有UIImage的UIImageView对象,如下所示:

    lazy var imageView: UIImageView = {
    let imageName = "logo.png"
    let image = UIImage(named: imageName)
    let imageView = UIImageView(image: image!)
    imageView.contentMode = .scaleAspectFit
    return imageView
  }()

还有一个动画可以像这样移动图像:

    @objc func animateWiggle() {
          // Set animation props
          let scaleDelta = CGFloat(0.50)

          // Set transforms
          let wiggleOutHorizontally = CGAffineTransform(scaleX: 1.0 + scaleDelta, y: 1.0)
          let wiggleOutVertically = CGAffineTransform(scaleX: 1.0, y: 1.0 + scaleDelta)

          // Run animation sequence
          UIView.animateKeyframes(withDuration: 1.0, delay: 0.0, options: [.autoreverse, .repeat], animations: {
              // Animate wiggle horizontally
              UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0.5, animations: {
                self.imageView.transform = wiggleOutHorizontally
              })

              // Animate wiggle vertically
              UIView.addKeyframe(withRelativeStartTime: 0.5, relativeDuration: 0.5, animations: {
                self.imageView.transform = wiggleOutVertically
              })
          },
          completion: nil)
      }

我现在正尝试将动画导出到gif文件,但不知道如何处理?我想我需要逐帧访问UIImageView并组装要导出为gif的图像?

任何帮助我指出正确方向的方法都会有所帮助。

谢谢!

0 个答案:

没有答案