UIDynamics創建運動視圖

import UIKit

class ViewController: UIViewController {
    
    var animator : UIDynamicAnimator?
    @IBOutlet weak var animatorView: UIView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        self.animator = UIDynamicAnimator(referenceView: self.view)
        
        /*爲視圖添加重力*/
        let gravity = UIGravityBehavior(items: [self.animatorView])
        self.animator?.addBehavior(gravity)
        /*添加碰撞(按鈕會落到底部l停留)*/
        let collision = UICollisionBehavior(items: [self.animatorView])
//        collision.translatesReferenceBoundsIntoBoundary = true//這樣會直接掉到容器邊緣,若想把觸碰邊緣放到裏邊則調用下邊的方法
        collision.setTranslatesReferenceBoundsIntoBoundary(with: UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10))
        self.animator?.addBehavior(collision)
        /*添加附着物*/
        //瞄點位於屏幕上端的中央位置
        let anchor = CGPoint(x: self.view.bounds.width/2, y: 0)
        let attachment = UIAttachmentBehavior(item: self.animatorView, attachedToAnchor: anchor)
        self.animator?.addBehavior(attachment)
    }


}

Demo-1 鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章