ios (कई) छवि दृश्यों के लिए यादृच्छिक छवियाँ




swift image (2)

युक्ति: आप अपने चित्रों की एक सरणी बनाने के लिए एक श्रेणी + मानचित्र का उपयोग कर सकते हैं।

let images = (1...6).map { UIImage(named: "Owl\($0)") }

(1...6) इन्टस का संग्रह 1 से 6 (6 सहित) से बना है, और map साथ हम नामकरण के लिए उनका उपयोग करके प्रत्येक इंट के लिए UIImage का नया उदाहरण बनाते हैं - चूंकि आपने अपनी छवियों को क्रम में नाम दिया है, यह आसान है। यह लूप कर रहा है और लूप के अंदर एक सरणी के लिए यूआईएमएजेजी का एक नया इरादा रखता है, नामकरण के लिए एक सूचकांक का उपयोग कर रहा है: "ओवल 1", "ओव्ल 2", आदि।

यदि आपके पास कोई भी सरणी में आपके UIImageViews , तो आप चित्रों को एक लूप के साथ निर्दिष्ट कर सकते हैं।

यहां एक उदाहरण है (मैंने एक्सकोड पर सत्यापन नहीं किया था लेकिन यह आपके लिए क्या आवश्यक है):

for view in imageViewsArray { // the array with the 36 imageViews
    // a random index for the array of 6 images
    let randomIndex = Int(arc4random_uniform(UInt32(images.count))
    // assign the randomly chosen image to the image view
    view.image = images[randomIndex]
}

अफसोस की बात है, मुझे 36 UIImages मिल गया है और हर एक के लिए एक यादृच्छिक छवि सेट करने की आवश्यकता है

मेरी 6 छवियों का नाम है;

"Owl1"
"Owl2"
"Owl3"
"Owl4"
"Owl5"
"Owl6"

इसलिए, मैं अपने 36 विभिन्न UIImages में एक यादृच्छिक छवि को सेट करना चाहता हूँ। इसे करने का बेहतरीन तरीका क्या है? एक सरणी? यहां तक ​​कि मेरी "कोशिश" अब तक है

var images: [UIImage] = [
UIImage(named: "Owl1")!,
UIImage(named: "Owl2")!,
UIImage(named: "Owl3")!,
UIImage(named: "Owl4")!,
UIImage(named: "Owl5")!,
UIImage(named: "Owl6")!
]

var randomUIImage = [Image1, Image2, Image3, Image4, Image5...]
        randomUIImage.shuffleInPlace()

randomUIImage[0].image = images[0]
randomUIImage[1].image = images[1]

लेकिन मुझे एहसास हुआ कि यह काम नहीं करेगा, और मैं सभी 36 चित्रों के लिए यह कोड नहीं बना सकता ... किसी को भी बेहतर विचार मिला है? ;-)


आपके पास छवि नामों की एक सरणी हो सकती है, और छवियों की एक सरणी उन्हें पकड़ सकती है ..

var imageNames:[String] = ["Owl1", "Owl2"....etc]
var owlImages:[UIImage] = []

फिर बेतरतीब ढंग से चित्र जोड़ना

for index in 0...imageNames.count - 1 {
    var randomInt = Int(arc4random_uniform(UInt32(imageNames.count)) //a random int from 0 to the size of your array
    owlImages.append(UIImage(named: imageNames[randomInt] //add the random image to the array
}






uiimage