UIImageView视图图像从左到右

时间:2016-10-25 20:18:59

标签: ios iphone swift uiimageview

所以我在UIImageView(Swift)中有一个带有“Aspect Fill”的大图像

但我想要的是在图像上使用动画或Ken Burn效果。

在下面的图像中...我想要的是从红色变为黄色看到的图像。

enter image description here

Original Image

UIImageView

2 个答案:

答案 0 :(得分:0)

采用正常的uiview根据您的意愿给出适当的高度宽度...在其中取一个imageview并给出与uiview相同的高度,x坐标和y坐标,并保持宽度尽可能宽图像....

使用UIView.animateWithDuration方法并在其动画块中设置最终所需的帧,使得图像视图的结尾等于uiview的结尾...图像视图将根据您的需要滑动到uiview的视野之外。 ..

您甚至可以从左到右重复动画,将动画调用到彼此完成块

答案 1 :(得分:0)

我找到了一个名为UIImageViewAligned的UIImageView扩展程序。您可以使用扩展提供的对齐属性并为更改设置动画。

import UIKit
import UIImageViewAligned

class ViewController: UIViewController {

    // MARK: Outlets

    @IBOutlet var imageView: UIImageViewAligned!

    // MARK: Lifecycle

    override func viewDidLoad() {

        super.viewDidLoad()

        imageView?.contentMode = .scaleAspectFill
        imageView?.alignLeft = true
        imageView?.alignRight = false
    }

    override func viewDidAppear(_ animated: Bool) {

        super.viewDidAppear(animated)

        UIView.animate(withDuration: 5) {
            self.imageView?.alignLeft = false
            self.imageView?.alignRight = true
        }
    }
}