[iOS]UIView动画学习笔记(下)

原创 2015年07月09日 14:22:54

上一篇文章记录了几类简单的动画内容,下面我们继续学习更多的动画,
慕课网视频的链接如下:
http://www.imooc.com/learn/395

本文涉及的内容:
- Repeat
- Easing
- Spring

下面我们分别介绍:

Repeat

可以让动画来回动作

override func viewDidAppear(animated: Bool){
    super.viewDidAppear(animated)
    UIView.animateWithDuration(1, animations:{
        self.blueSquare.center.x = self.view.bounds.width - self.blueSquare.center.x
    })
    UIView.animateWithDuration(1, delay:0, options: .Repeat, animations:{
        self.redSquare.center.x = self.view.bounds.width - self.redSquare.center.x
    }, completion: nil)
    UIView.animateWithDuration(1, delay:0, options: .Repeat | .Autoreverse, animations:{
        self.greenSquare.center.x = self.view.bounds.width - self.greenSquare.center.x
    }, completion: nil)

}

Easing

这里写图片描述

Easing动画涉及贝塞尔曲线,贝塞尔曲线绘制可以参考如下网址:
http://cubic-bezier.com/
http://easings.net/zh-cn

实现方式如下:

override func viewDidAppear(animated: Bool){
    super.viewDidAppear(animated)
    UIView.animateWithDuration(1, animations:{
        self.blueSquare.center.x = self.view.bounds.width - self.blueSquare.center.x
    })
    UIView.animateWithDuration(1, delay:0, options: .CurveEaseIn, animations:{
        self.redSquare.center.x = self.view.bounds.width - self.redSquare.center.x
    }, completion: nil)
    UIView.animateWithDuration(1, delay:0, options: .CurveEaseOut, animations:{
        self.greenSquare.center.x = self.view.bounds.width - self.greenSquare.center.x
    }, completion: nil)
    UIView.animateWithDuration(1, delay:0, options: .CurveEaseInOut, animations:{
        self.yelloSquare.center.x = self.view.bounds.width - self.yelloSquare.center.x
    }, completion: nil)

}

Spring

这里写图片描述

Spring弹簧动画使用的API的参数更多,原型如下:

//只有iOS7以上才支持
UIView.animateWithDuration(duration: NSTimeInterval, 
                           delay: NSTimeInterval,
                           usingSpringWithDamping: CGFloat,
                           initailSpringVelocity: CGFloat,
                           options: UIViewAnimationOptions,
                           animations: () -> Void,
                           completion: ((Bool) -> Void)?)

应用如下:

override func viewDidAppear(animated: Bool){
    super.viewDidAppear(animated)
    UIView.animateWithDuration(1, animations:{
        self.blueSquare.center.x = self.view.bounds.width - self.blueSquare.center.x
    })
    UIView.animateWithDuration(1, delay: 0, usingSpringWithDamping: 0.5, initailSpringVelocity: 0, options: nil, animations:{
        self.redSquare.center.x = self.view.bounds.width - self.redSquare.center.x
},completion: nil)

    UIView.animateWithDuration(5, delay: 0, usingSpringWithDamping:0.3, initailSpringVelocity: 1, options: nil, animations:{
        self.redSquare.center.x = self.view.bounds.width - self.redSquare.center.x
},completion: nil)



}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

iOS学习笔记10-UIView动画

上次学习了iOS学习笔记09-核心动画CoreAnimation,这次继续学习动画,上次使用的CoreAnimation很多人感觉使用起来很繁琐,有没有更加方便的动画效果实现呢?答案是有的,那就是UI...

[iOS]UIView动画学习笔记(上)

本文是学习慕课网UIView动画的笔记,可用于简单的创建动画, 慕课网视频链接如下: http://www.imooc.com/learn/392通过使用动画,我们可以使我们的iOS App更加生...

UIView动画(过渡效果)的学习笔记

UIView视图的动画功能,可以使在更新或切换视图时有放缓节奏、产生流畅的动画效果,进而改善用户体验。UIView可以产生动画效果的变化包括: 位置变化:在屏幕上移动视图。 大小变化:...

UIView动画(过渡效果)的学习笔记

UIView视图的动画功能,可以使在更新或切换视图时有放缓节奏、产生流畅的动画效果,进而改善用户体验。UIView可以产生动画效果的变化包括: 位置变化:在屏幕上移动视图。 大小变化:改变...

UIView动画(过渡效果)的学习笔记

UIView视图的动画功能,可以使在更新或切换视图时有放缓节奏、产生流畅的动画效果,进而改善用户体验。UIView可以产生动画效果的变化包括: 位置变化:在屏幕上移动视图。 大小变化:改变视图框架...

UIView动画(过渡效果)的学习笔记

UIView视图的动画功能,可以使在更新或切换视图时有放缓节奏、产生流畅的动画效果,进而改善用户体验。UIView可以产生动画效果的变化包括: 位置变化:在屏幕上移动视图。 大小变化:...

iOS学习笔记--UIView的常见属性及方法,UIViewAnimationWithBlocks

@interface UIView : UIResponder /** * 通过一个frame来初始化一个UI控件 */ - (id)initWithFrame:(CGRect)frame; ...

iOS学习笔记----实现一个带有渐变的UIView

又是好久没写博了·····最近项目缠身又临近期末考···虽然有很多东西都想记下来···可是时间真的是不太允许啊。。。今天就先记下个简单的东西吧!!! 早上在做项目的时候要做一个带有渐变背景...

IOS学习笔记10-UIView的一些基本方法理解:loadView、viewDidLoad、viewDidUnload、viewWillAppear、viewWillDisappear、

经常使用UIView以及它的子类,一般对于init:,viewDidLoad:,dealloc:等方法应该是比较熟悉和了解的。 对于其它几个基本方法就不那么常用了,为了更好地编程使用这些方法,在...

IOS学习笔记(三)之UIView的标签(UILabel)与按钮(UIButton)

IOS学习笔记(三)之UIView的标签(UILabel)与按钮(UIButton)(博客地址:http://blog.csdn.net/developer_jiangqq)         Auth...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)