swift ios 平移动画(8种方式)

1.前言

转载请注明出处
http://blog.csdn.net/wangguoyang429883793/article/details/50428849
以平移为例子,总结了一下动画的实现方式。
这里写图片描述

2.实战

准备工作:

我们添加了一个红色的uiview圆和一个蓝色的calyaer圆,给屏幕添加了点击事件。


    enum AniType: Int {
        case ViewCenterNone
        case ViewCenterAni
        case Block
        case Spring
        case LayerNone
        case CABasic
        case Display
        case Snap
        }

    var currentType:AniType? //当前动画的类型,因为我们要用多种方式实现
    var circleView:UIView?  //UIView 红色的圆 用于动画
    var layer:CALayer? // CALayer 蓝色的圆 用于动画

    var dynamicAnimator:UIDynamicAnimator?

    override func viewDidLoad() {
        super.viewDidLoad()
        currentType = .Snap
        dynamicAnimator = UIDynamicAnimator()
        addView()
        addLayer()
        addOptionsBtn()
        addTapGesture()
    }

    //添加 UIView 的圆
    func addView(){
        circleView = UIView(frame: CGRectMake(0,0,50,50))
        self.view.addSubview(circleView!)
        circleView!.backgroundColor = UIColor.redColor()
        circleView?.layer.cornerRadius = 25
        circleView?.center = CGPoint(x: 30,y: 60)
    }

    //添加 Layer 的圆
    func addLayer(){
        layer = CALayer()
        layer?.bounds = CGRectMake(0, 0, 50, 50)
        layer?.cornerRadius = 25
        layer?.position = CGPoint(x: 30,y: 30)
        layer?.backgroundColor = UIColor.blueColor().CGColor
        self.view.layer.addSublayer(layer!)
    }

    //给主屏添加点击事件
    func addTapGesture(){
        let tap = UITapGestureRecognizer(target: self, action: "onTap:")
        tap.numberOfTapsRequired = 1
        tap.numberOfTouchesRequired = 1
   
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值