I am trying to implement circles attached to each other like in Apple's Music App via UIDynamicAnimator. I need to attach circles to each other and to view center. I was trying to implement this via UIAttachmentBehavior, but seems to it's not supporting multiple attachments. In result, circles overlaps on each other :)
let attachment = UIAttachmentBehavior(item: circle, attachedToAnchor: CGPoint(x: view.center.x, y: view.center.y))
attachment.length = 10
animator?.addBehavior(attachment)
let push = UIPushBehavior(items: [circle], mode: .continuous)
collision.addItem(circle)
animator?.addBehavior(push)
What I am doing wrong?


I don't think the apple music genre picker thing uses
UIAttachmentBehaviorwhich is closer to attaching two views with a pole or a rope. But, it seems like the problem you're experiencing might be that all of the views are added at the same location which has the effect of placing them on top of each other and with the collision behavior causes them to be essentially be stuck together. One thing to do is to turn onUIDynamicAnimatordebugging by callinganimator.setValue(true, forKey: "debugEnabled").For recreating the above circle picker design, I would look into using
UIFieldBehavior.springField().For example:
For more information I would watch What's New in UIKit Dynamics and Visual Effects from WWDC 2015