
class VIEwController: UIVIEwController,uicollisionbehaviorDelegate { @IBOutlet weak var gravity: UIbutton! @IBOutlet weak var push: UIbutton! @IBOutlet weak var attachment: UIbutton! var collision: uicollisionbehavior! @IBAction func gravity(sender: UIbutton) { animator.removeAllBehaviors() //gravity,push and attachment let gravity = UIGravityBehavior(items: [self.gravity,self.push,self.attachment]) animator.addBehavior(gravity) collision = uicollisionbehavior(items: [self.push,self.gravity,self.attachment]) collision.translatesReferenceBoundsIntoBoundary = true animator.addBehavior(collision) } @IBAction func push(sender: AnyObject) { animator.removeAllBehaviors() let push = UIPushBehavior(items: [self.gravity,self.attachment],mode:UIPushBehaviorMode.Instantaneous) push.magnitude = 2 animator.addBehavior(push) collision = uicollisionbehavior(items: [self.push,self.attachment]) collision.translatesReferenceBoundsIntoBoundary = true animator.addBehavior(collision) } var attachmentBehavior: UIAttachmentBehavior? = nil @IBAction func attachment(sender: AnyObject) { animator.removeAllBehaviors() let anchorPoint = CGPointMake(self.attachment.center.x,self.attachment.center.y) attachmentBehavior = UIAttachmentBehavior(item: self.attachment,attachedToAnchor: anchorPoint) attachmentBehavior!.frequency = 0.5 attachmentBehavior!.damPing = 2 attachmentBehavior!.length = 20 animator.addBehavior(attachmentBehavior!) collision = uicollisionbehavior(items: [self.push,self.attachment]) collision.translatesReferenceBoundsIntoBoundary = true animator.addBehavior(collision) } @IBAction func handleAttachment(sender: UIPanGestureRecognizer) { if((attachmentBehavior) != nil){ attachmentBehavior!.anchorPoint = sender.locationInVIEw(self.vIEw) } } var animator = UIDynamicAnimator() overrIDe func vIEwDIDLoad() { super.vIEwDIDLoad() animator = UIDynamicAnimator(referenceVIEw: self.vIEw) } overrIDe func vIEwDIDAppear(animated: Bool) { let max: CGRect = UIScreen.mainScreen().bounds let snap1 = UISnapBehavior(item: self.gravity,snaptopoint: CGPointMake(max.size.wIDth/2,max.size.height/2 - 50)) let snap2 = UISnapBehavior(item: self.push,max.size.height/2 )) let snap3 = UISnapBehavior(item: self.attachment,max.size.height/2 + 50)) snap1.damPing = 1 snap2.damPing = 2 snap3.damPing = 4 animator.addBehavior(snap1) animator.addBehavior(snap2) animator.addBehavior(snap3) } overrIDe func dIDReceiveMemoryWarning() { super.dIDReceiveMemoryWarning() } } 点击MOB
动画静止
点击IRON,落到最下面
点击Hack随意撞击
总结
以上是内存溢出为你收集整理的swift 基础之UIDynamicAnimation全部内容,希望文章能够帮你解决swift 基础之UIDynamicAnimation所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)