UIImageView中的动画图像出错

时间:2019-08-07 10:07:58

标签: swift5

当我尝试使用UIImageView为图像设置动画并使用轻击手势在图像视图上轻按时,出现此错误消息。

(由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'* -[__ NSArrayM insertObject:atIndex:]:对象不能为空')**

以下是我的代码:

import UIKit

class ViewController: UIViewController {

    private var arrayOfImages = [UIImage()]

    let imageView : UIImageView = {
        let iv = UIImageView()
        iv.isUserInteractionEnabled = true
        iv.contentMode = UIView.ContentMode.scaleAspectFill
        iv.clipsToBounds = true
        iv.translatesAutoresizingMaskIntoConstraints = false
        iv.image = UIImage(named: "image0")!
        return iv
    }()

    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
        setupImageView()

        // fill the images in the array
        for i in 0 ..< 29 {
            if let img = UIImage(named: "image\(i)") {
                arrayOfImages.append(img)
            }
        }

        imageView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(handleAnimateIV)))

    }

    private func setupImageView() {
        self.view.addSubview(imageView)
        imageView.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true
        imageView.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
        imageView.widthAnchor.constraint(equalToConstant: 100).isActive = true
        imageView.heightAnchor.constraint(equalToConstant: 100).isActive = true
    }

    @objc func handleAnimateIV(){
        imageView.animationImages = arrayOfImages
        imageView.animationDuration = 0.6
        imageView.animationRepeatCount = 1
        imageView.startAnimating()

    }

}

0 个答案:

没有答案