swift 基础之UIDynamicAnimation

swift 基础之UIDynamicAnimation,第1张

概述class ViewController: UIViewController, UICollisionBehaviorDelegate { @IBOutlet weak var gravity: UIButton! @IBOutlet weak var push: UIButton! @IBOutlet weak var attachment: UIButton!
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所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1074873.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存