Ребят подскажите кто может. Вопрос в следующем: 1.Нужно реализовать чтобы на экране появлялись круги в рандомном месте. 2.Разных радиусов и не перекрывали друг друга.
При компиляции почему то отображается только один круг.
Создал отдельный файл для View. Вот код который я сотворил:
override func draw(_ rect: CGRect) {
var number = 1
while number <= 5 {
//1. Координаты центра экрана
let viewMidX = self.bounds.size.height
let viewMidY = self.bounds.size.width
//2. Радиус уруга
let circleWidth = CGFloat(20 + arc4random_uniform(30))
let circleHeight = circleWidth
//3. Два рандомных числа
let randomNumberOne = CGFloat(arc4random_uniform(40))
let randomNumberTwo = CGFloat(arc4random_uniform(20))
//4. Координаты и размеры круга
let rect = CGRect(x: viewMidX / 3 + randomNumberOne , y: viewMidY / 3 + randomNumberTwo , width: circleWidth, height: circleHeight)
/**5.
roundedRect: границы в пределах которых отрисовывает;
cornerRadius: скгругление углов;
**/
let circlePath = UIBezierPath(roundedRect: rect, cornerRadius: circleWidth / 2)
//5. Цвет заливки внутренний круга
мойЦвет.setFill()
circlePath.fill()
//6. Цвет обводки круга
мойЦвет.setStroke()
circlePath.stroke()
number += 1
}
В файле ViewController я делаю этому кругу некоторую анимацию(пульсирует)
override func viewDidLoad() {
super.viewDidLoad()
//7.
self.view.transform = CGAffineTransform(scaleX: 1, y: 1)
//8. Анимация круга и его пульсация
UIView.animateKeyframes(withDuration: 1, delay: 0, options: [.autoreverse, .repeat], animations: {
self.view.transform = CGAffineTransform(scaleX: 0.9, y: 0.9)
}) { finished in
}
}