Я хочу динамически размещать маленькие кружки вокруг большого цикла, но кривая линии между первым маленьким кружком и последним не должна отображаться.
Это код:
circleContainerView = CircleView(frame: CGRect(x: 10, y: amountContainerView.center.y + 125, width: self.view.frame.width - 40, height: self.view.frame.height / 2 - 20))
circleContainerView.backgroundColor = .white
let slotNumbers = 3.0
let slotHeight = 110.0
let slotAngle: Double = 360 / slotNumbers
//let radius: Double = 150.0
let radius: Double = Double(circleContainerView.frame.width - 40) / 2
let center = CGPoint(x: circleContainerView.frame.width / 2, y: circleContainerView.frame.height / 2)
for i in stride(from: 0, to: slotNumbers, by: 1) {
let itemButton = UIButton()
let y = sin((slotAngle * i) * (Double.pi / 180)) * radius + Double(center.y) - (slotHeight / 2)
let x = cos((slotAngle * i) * (Double.pi / 180)) * radius + Double(center.x) - (slotHeight / 2)
itemButton.frame = CGRect(x: x, y: y, width: slotHeight, height: slotHeight)
setupItemSlot(button: itemButton, item: items[Int(i)])
circleContainerView.addSubview(itemButton)
func setupItemSlot(button: UIButton, item: SlotItem) {
button.backgroundColor = .white
button.layer.cornerRadius = button.frame.height / 2
let containerView = UIButton()
containerView.frame = CGRect(x: button.frame.width / 2 - 37.5, y: 0, width: 75, height: 75)
button.backgroundColor = .white
button.layer.cornerRadius = button.frame.height / 2
button.layer.shadowColor = UIColor.black.cgColor
button.layer.shadowOffset = CGSize(width: 1, height: 2)
button.layer.shadowRadius = 5.0
button.layer.shadowOpacity = 0.2
}
и вот чего я добился:
взгляд на то, чего я достиг
но я хочу вот такой пример:
пример