personajes - imágenes de los simpson graciosas
Imágenes aleatorias a(muchas) Vistas de la imagen (2)
Consejo: puede usar un mapa de rango + para crear una matriz de sus imágenes.
let images = (1...6).map { UIImage(named: "Owl/($0)") }
(1...6)
produce una colección de Ints, del 1 al 6 (incluyendo 6), y con el map
creamos una nueva instancia de UIImage
para cada Int, utilizándolos para la nomenclatura, ya que usted nombró sus imágenes en orden, es conveniente. Es como hacer un ciclo y agregar una nueva integridad de UIImage
a una matriz dentro del ciclo, usando un índice para el nombre: "Owl1", "Owl2", etc.
Si también tiene UIImageViews
en una matriz, puede asignar las imágenes con un bucle.
Aquí hay un ejemplo (no lo verifiqué en Xcode pero debe estar cerca de lo que necesita):
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]
}
Tristemente, tengo 36 UIImages y necesito establecer una imagen aleatoria para cada uno.
Mis 6 imágenes son nombradas;
"Owl1"
"Owl2"
"Owl3"
"Owl4"
"Owl5"
"Owl6"
Entonces, quiero establecer una imagen aleatoria para mis 36 diferentes UIImages. ¿Cuál es la mejor manera de hacer esto? ¿Una matriz? Aquí está mi "intento" hasta ahora.
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]
Pero me di cuenta de que esto no funcionaría, y no puedo hacer este código para las 36 imágenes ... ¿Alguien tuvo una mejor idea? ;-)
Puede tener una matriz de nombres de imágenes y una matriz de imágenes para mantenerlos.
var imageNames:[String] = ["Owl1", "Owl2"....etc]
var owlImages:[UIImage] = []
A continuación, agregue al azar las imágenes
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
}