对于客户,我需要意识到UIView
应该类似于这个:
我的想法是使用UIDynamics
和某种UIFieldBehaviour
. 所以我创建了一个容器视图containerView
,添加了一堆UIView
s。这些内部视图被添加到一个UIFieldBehavior.magneticField()
(使用 addItem)。
我还创建了一个UICollisionBehaviour
添加相同UIView
的 s
下面是代码:
let _animator = UIDynamicAnimator.init(referenceView: self.pointsReceivedMap)
let _magnet = UIFieldBehavior.magneticField()
let _collisions = UICollisionBehaviour()
_collisions.translatesReferenceBoundsIntoBoundary = true
for index in 1..<10 {
let view = UIView();
/*add some UI style to view */
_collision.addItem(view)
_magnet.addItem(view)
}
_animator.addBehaviour(_magnet)
_animator.addBehaviour(_collision)
这就是我得到的:
黄色视图是在referenceView
初始化动画对象时传递的容器视图 ( self.pointsReceivedMap
)