尝试在Swift中创建一个以UIImageView为元素的数组

问题描述 投票:0回答:1

我正在创建一个应用程序,其中每隔1秒的时间间隔,图像就会在木板上移动。为此,我创建了一个计时器,将9张图像隐藏起来,然后每秒使9张图像之一的.isHidden为false。但是,为此,我创建了一个包含所有9个imageView元素的数组,并期望当我从数组中调用randomElement()时,将选择其中一个ImageViews。到目前为止,我的应用已崩溃,因为除imageViews之外,我的其他所有数组都将崩溃。下面我粘贴了适用的代码,但请注意,下面两行位于计时器函数中,并且数组位于ViewDidLoad外部。

let kennyArray = [kenny1.self, kenny2.self, kenny3.self, kenny4.self, kenny5.self, kenny6.self, kenny7.self, kenny8.self, kenny9.self ]
randomKenny = kennyArray.randomElement()
randomKenny.isHidden = false
arrays swift uiimageview
1个回答
0
投票

首先,您不需要.self。我认为您的方法可以改进。代替创建UIImageView的数组,您需要的是UIImage和一个UIImageView的数组。在时间间隔之后,而不是隐藏之后,将随机图像从数组设置为图像视图。

var images = [image1, image2, image3]

@objc func alterImage() {
    imageView.image = images.randomElement()
    perform(alterImage, with: self, afterDelay: 10)
}
© www.soinside.com 2019 - 2024. All rights reserved.