UI Dynamics是UIKit的一个新组成部分,它向iOS中的视图提供了与物理学有关的功能和动画。可以让你向视图中引入力和物理属性,可以让你的视图弹跳,舞动,受重力影响等等。
原文出自: 转载请保留原文链接:
下面通过样例,演示使用UISnapBehavior给UIImageView添加移动吸附行为。
效果图如下:(点击屏幕,苹果会动态移动到点击的位置,移动时还有倾斜和缓动效果)
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 27 28 29 30 31 32 | import UIKit class ViewController : UIViewController { @IBOutlet weak var imageView: UIImageView ! var dynamicAnimator = UIDynamicAnimator () var snap: UISnapBehavior ? override func viewDidLoad() { super .viewDidLoad() dynamicAnimator = UIDynamicAnimator (referenceView: self .view) } @IBAction func tapped(sender: AnyObject ){ //获取点击位置 let tap = sender as ! UITapGestureRecognizer let point = tap.locationInView( self .view) //删除之前的吸附,添加一个新的 if self .snap != nil { self .dynamicAnimator.removeBehavior( self .snap!) } self .snap = UISnapBehavior (item: self .imageView, snapToPoint: point) self .dynamicAnimator.addBehavior( self .snap!) } override func didReceiveMemoryWarning() { super .didReceiveMemoryWarning() } } |