到目前为止,我已经创建了一个图像文件夹,我可以将其中一个图像分配给UIImageView
。
但我现在要做的是创建一个随机生成器,它将从文件夹中选择一个随机图像,所以如果我要创建一个按钮,我可以单独和随机地显示所有图像{{ 1}}。
然而,这个文件夹将有超过100个图像,所以我不想将每个图像硬编码到一个数组中。此外,图像的名称必须是图像本身的唯一名称。
我一直在网上搜索,但找不到有关如何编码符合我需求的信息。那么如何在swift中从文件夹中获取并显示随机图像?
答案 0 :(得分:3)
您可以像这样命名图像
image_0
image_1
image_2
然后使用此代码填充UIImageView
let numberOfImages: UInt32 = 100
let random = arc4random_uniform(numberOfImages)
let imageName = "image_\(random)"
imageView.image = UIImage(named: imageName)
由于您不想重命名图像,因此可以创建一个plist文件(类型数组),您可以在其中放置图像的所有名称
最后
func loadRandomImage() {
let path = NSBundle.mainBundle().pathForResource("Images", ofType: "plist")!
let names = NSArray(contentsOfFile: path) as! [String]
let random = Int(arc4random_uniform(UInt32(names.count)))
let imageName = names[random]
imageView.image = UIImage(named: imageName)
}
答案 1 :(得分:1)
您需要创建一个字符串文件名数组并从数组中选择一个随机文件名,或者您需要使用文件管理器(NSFileManager
)来获取文件夹中的文件列表然后选择来自THAT数组。虚空是非常困难的。