Swift - 使用UI Dynamics给UIKit组件添加重力和碰撞行为

UI Dynamics是UIKit的一个新组成部分,它向iOS中的视图提供了与物理学有关的功能和动画。可以让你向视图中引入力和物理属性,可以让你的视图弹跳,舞动,受重力影响等等。

下面通过样例,演示使用UIGravityBehavior和UICollisionBehavior给UIImageView添加重力和碰撞行为。

效果图如下:(苹果自上而下做自由落体,当掉到底部的时候还有碰撞效果。) 
原文:Swift - 使用UI Dynamics给UIKit组件添加重力和碰撞行为

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import UIKit
 
class ViewController : UIViewController {
 
     @IBOutlet weak var imageView: UIImageView !
     var dynamicAnimator = UIDynamicAnimator ()
     
     override func viewDidLoad() {
         super .viewDidLoad()
         
         dynamicAnimator = UIDynamicAnimator (referenceView: self .view)
         
         //创建并添加重力行为
         let gravityBehavior = UIGravityBehavior (items: [ self .imageView])
         dynamicAnimator.addBehavior(gravityBehavior)
         
         //创建并添加碰撞行为
         let collisionBehavior = UICollisionBehavior (items: [ self .imageView])
         collisionBehavior.translatesReferenceBoundsIntoBoundary = true
         dynamicAnimator.addBehavior(collisionBehavior)
     }
 
     override func didReceiveMemoryWarning() {
         super .didReceiveMemoryWarning()
     }
}

转载于:https://www.cnblogs.com/Free-Thinker/p/4858367.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值