Ich habe eine Liste von x Bildern. Für jedes Bild I eine UIImageView mit y die Höhe der Ansicht und eine Zufalls xAnimieren Scrollen Bilder mit zufälliger Verzögerung (nacheinander) und zufällige horizontale Position
func computeImageFrame() -> CGRect {
let imageWidth: CGFloat = 91
let imageHeight: CGFloat = 131
var x = xPos()
let y = yPos()
if (x > ((self.backgroundView?.bounds.width)! - (self.backgroundView?.bounds.width)! * 0.20)){
x = x.truncatingRemainder(dividingBy: ((self.backgroundView?.bounds.width)! - (self.backgroundView?.bounds.width)! * 0.20))}
return CGRect(x: x, y: y, width: imageWidth, height: imageHeight)
}
wo
func xPos() -> CGFloat {
return CGFloat(arc4random_uniform(UInt32((self.backgroundView?.frame.size.width)!)))
}
func yPos() -> CGFloat {
return self.backgroundView.bounds.height
}
an dieser Stelle zu erstellen habe ich eine Liste auf UIImageViews wobei x zufällig ist und y viewheight und jetzt versuche ich,
func animateBackgroundFor(_ imageViews: [UIImageView]) {
for imageView in imageViews {
self.backgroundView.addSubview(imageView)
}
// Animate background
UIView.animate(withDuration: 6.0, delay: 0.0, options: [UIViewAnimationOptions.repeat, UIViewAnimationOptions.curveLinear], animations: {
for imageView in imageViews {
imageView.frame = imageView.frame.offsetBy(dx: 0.0, dy: -7 * imageView.frame.size.height)
}
}, completion: nil)
}
Meine Frage zu animieren, wie kann ich sie ein, um zu schießen nach dem anderem bekommen, statt zur gleichen Zeit, und wie kann ich jedes Bild der horizontale Position neu berechnen zu immer y-Schleife.
Danke
Edit: vergaß zu erwähnen, ich
func animateBackgroundFor(_ imageViews: [UIImageView]) {
for imageView in imageViews {
self.backgroundView.addSubview(imageView)
}
for imageView in imageViews {
UIView.animate(withDuration: 6.0, delay: 1.2, options: [UIViewAnimationOptions.repeat, UIViewAnimationOptions.curveLinear], animations: {
imageView.frame = imageView.frame.offsetBy(dx: 0.0, dy: -7 * imageView.frame.size.height)
}, completion: nil)
}
}
funktioniert super! Vielen Dank! –