我试图逐帧显示100张图片,类似于gif在我的Swift应用程序中的工作方式。由于UIImageView不支持GIF,我已经阅读了最好用代码快速切换图像。我已经尝试过做其他一些教程所说的但是它都会出现错误。我对Swift很新,所以我很困惑。我知道我需要将它们存储在某种类型的数组中,但有些人能够告诉我确切的语法吗?以及我在实际故事板中需要做的任何事情以及代码。 谢谢!
答案 0 :(得分:1)
尝试这样的事情。首先,您需要向Assets添加一系列图像。在此示例中,它们将命名为image_1,image_2 ... image_16。你可以摆弄持续时间等
class ViewController: UIViewController
{
private var imageViewAnimated: UIImageView!
private var animatedImages = [UIImage]()
override func viewDidLoad() {
super.viewDidLoad()
imageViewAnimated = UIImageView()
view.addSubview(imageViewAnimated)
}
override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()
let selfSize: CGSize = view.bounds.size
var imageViewAnimatedFrame: CGRect = CGRectZero
imageViewAnimatedFrame.origin.x = selfSize.width / 2
imageViewAnimatedFrame.origin.y = selfSize.height / 2
imageViewAnimatedFrame.size.height = 100
imageViewAnimatedFrame.size.width = 100
imageViewAnimated.frame = imageViewAnimatedFrame
for index in 1...16
{
let imageName = "image_\(index)"
animatedImages.append(UIImage(named: imageName)!)
}
imageViewAnimated.animationImages = animatedImages
imageViewAnimated.animationDuration = 0.5
}
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
imageViewAnimated.startAnimating()
}
}
答案 1 :(得分:0)
UIImageView
已经支持基于帧的动画。我建议你用它。有关详细信息,请参阅UIImageView
类参考。