所以我在UIImageView(Swift)中有一个带有“Aspect Fill”的大图像
但我想要的是在图像上使用动画或Ken Burn效果。
在下面的图像中...我想要的是从红色变为黄色看到的图像。
答案 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
}
}
}