我有一个图像名称为Array的数组。当我单击一个按钮时,它应该更改背景图像。但是,当我第一次单击该按钮时,它可以正常工作。但是,当我第二次单击它时,它不会更改背景图像。
导入UIKit
类ViewController:UIViewController {
var imagesArray = ["1", "2", "3"]
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func changeBackground_Tapped(_ sender: UIButton) {
if let randomImage = imagesArray.randomElement(){
let backgroundImage = UIImageView(frame: UIScreen.main.bounds)
backgroundImage.image = UIImage(named: randomImage)
backgroundImage.contentMode = UIView.ContentMode.scaleAspectFill
self.view.insertSubview(backgroundImage, at: 0)
}
}
}
有什么想法吗?谢谢!
罗伯特在评论中问您,为什么每次都要创建新的imageView而不是在imageView中更改图像。
[C0行]将一个新的imageView插入到最背景的图层中(因此您看不到它,因为它位于第一个imageView的后面)导入UIKit
self.view.insertSubview(backgroundImage, at: 0)