Я написал метод для представлений, который перемещает представления в случайных направлениях. Но я бы хотел улучшить его, чтобы во время этого движения виды не накладывались друг на друга. Есть ли способ улучшить мой код:
@objc func bottomAnimationLoop(_ animationID: String?, finished: NSNumber?, context: UnsafeMutableRawPointer?) {
UIView.beginAnimations(nil, context: nil)
UIView.setAnimationDuration(20)
[v5, v6, v7, v8, v9].forEach { (vi) in
let topRandomY = arc4random_uniform(UInt32(UIScreen.main.bounds.height / 2) + 1) + UInt32(UIScreen.main.bounds.height / 2)
let x = CGFloat(arc4random() % UInt32(view.bounds.size.width))
let y = CGFloat(topRandomY % UInt32(view.bounds.size.height))
let squarePostion = CGPoint(x: x, y: y)
vi.center = squarePostion
}
UIView.setAnimationDelegate(self)
UIView.setAnimationDidStop(#selector(bottomAnimationLoop(_:finished:context:)))
UIView.commitAnimations()
}