Простите за абстрактную природу этого вопроса, но я работаю над проектом по репликации динамических обоев, поставляемых с iOS.По сути, я работаю над достижением того, что видно здесь , набора кругов, которые появляются на экране в случайных положениях и плавают вокруг случайно.
Я создаю свои круги как подклассыUIView, как показано здесь:
class BokehCircle: UIView {
override func draw(_ rect: CGRect) {
// Set the path
let path = UIBezierPath(ovalIn: rect)
// Set the fill color
UIColor.purple.setFill()
// Fill
path.fill()
}
}
Затем я добавляю свои круги к своему виду в случайных точках (код опущен для длины, но это работает правильно).
Где я нахожусьсейчас трудно определить, как сделать так, чтобы круги плавали вокруг экрана медленно, случайно, но никогда не исчезали полностью за кадром.Хотя я знаю, как анимировать позиции с помощью CGAffineTransform, я надеюсь на предложений (вам не нужно делать мою работу за меня), где повернуть.Использование термина «float» приводит к очень искаженным результатам, и я не нахожу никакой помощи в том, что бы достичь этого эффекта.