簡體   English   中英

如何快速從文件夾中獲取隨機圖像?

[英]How to get a random image from a folder in swift?

到目前為止,我已經創建了一個圖像文件夾,並且能夠將其中一張圖像分配給UIImageView

但是我現在要做的是創建一個隨機生成器,它將從文件夾中選擇一個隨機圖像,因此,如果我要創建一個按鈕,則可以在一個UIImageView上單獨顯示所有圖像。

但是,此文件夾將有100多個圖像,因此我不想將每個圖像硬編碼為一個數組。 同樣,圖像名稱必須是圖像本身唯一的。

我一直在網上搜索,但是找不到有關如何編碼適合我需求的信息。 那么如何快速從文件夾中獲取並顯示隨機圖像呢?

您可以這樣命名圖像

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文件(類型為Array),在其中放置所有圖像名稱

在此處輸入圖片說明

最后

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)
}

您需要創建一個字符串文件名數組並從該數組中選擇一個隨機文件名,或者您需要使用文件管理器( NSFileManager )獲取文件夾中文件的列表,然后從THAT數組中進行選擇。 虛空非常困難。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM