顧客の場合、次のようなものを実現する必要がありますUIView
。
私のアイデアは、UIDynamics
と のようなものを使用することでしUIFieldBehaviour
た。そこで、コンテナ ビューを作成しcontainerView
、たくさんの を追加しましたUIView
。これらの内部ビューはUIFieldBehavior.magneticField()
(addItem を使用して) に追加されます。
また、同じsUICollisionBehaviour
を追加して作成しますUIView
ここのコードの下:
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
) 。