iOS动画入门一

一 动画介绍

在iOS中动画实现技术主要是:Core Animation。 Core Animation负责所有的滚动、旋转、缩小和放大以及所有的iOS动画效果。其中UIKit类通常都有animated:参数部分,它可以允许是否使用动画。

本文将介绍UIView动画的实现方式,有基础方法和block方法。

二 实现方法

1 基础动画

 [UIView  beginAnimations:nil context:nil];  //动画开始
    //Code...
 [UIView commitAnimations];                  //动画结束
    //eg 设置lb向下移动
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:3];
    CGPoint point = self.lb.center;
    point.y += 100;
    self.lb.center = point;
    [UIView commitAnimations];

2 blcok方法1

 [UIView animateWithDuration:3   //动画持续时间
                     animations:^{
        //Code...
    }];
//eg 改变lb的透明度
    [UIView animateWithDuration:3 animations:^{
        self.lb.alpha = 0.5;
    }];

3 blcok方法2

UIView animateWithDuration:3   //动画持续时间
                     animations:^{
        //动画执行
    } completion:^(BOOL finished) {
        //动画完成后执行
    }];
//eg 旋转lb第一种方法:
    CGAffineTransform endAngel = CGAffineTransformMakeRotation(90.0f*(M_PI/180.0f));

    [UIView animateWithDuration:3 animations:^{
        self.lb.transform = endAngel;
    } completion:^(BOOL finished) {
        self.stateLb.text = @"动画完成了";
    }];

4 blcok方法3

[UIView animateWithDuration:3   //动画持续时间
                          delay:1   //动画延迟时间
                        options:UIViewAnimationOptionCurveEaseIn    //设置动画过渡效果
                     animations:^{
        //动画执行
    } completion:^(BOOL finished) {
        //动画完成后执行
    }];
 //eg 改变lb的字体大小 和位置
    [UIView animateWithDuration:3
                          delay:1
                        options:UIViewAnimationOptionCurveEaseInOut //设置动画过渡效果
                     animations:^{
        CGPoint center = self.lb.center;
        center.x = 200;
        self.lb.center = center;

        self.lb.textColor = [UIColor blueColor];
    } completion:^(BOOL finished) {
        self.stateLb.text = @"改变lb的字体大小 和位置 完成*";
    }];

5 blcok方法4

[UIView animateWithDuration:3       //动画持续时间
                          delay:1       //动画延迟时间
         usingSpringWithDamping:1.0     //设置类似弹簧效果
          initialSpringVelocity:5.0     //设置初始速度
                        options:UIViewAnimationOptionCurveLinear //设置动画过渡效果
                     animations:^{

    } completion:^(BOOL finished) {

    }];
[UIView animateWithDuration:3 delay:1 usingSpringWithDamping:1.0 initialSpringVelocity:5.0 options:UIViewAnimationOptionCurveEaseInOut animations:^{
        CGPoint center = self.btn.center;
        center.y += 50;
        self.btn.center = center;
    } completion:^(BOOL finished) {
        self.stateLb.text = @"弹簧效果结束";
    }];

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

时间: 2024-10-03 15:01:51

iOS动画入门一的相关文章

转 iOS Core Animation 动画 入门学习(一)基础

iOS Core Animation 动画 入门学习(一)基础 reference:https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/CoreAnimation_guide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40004514 在iOS中,每个view中都自动配置了一个layer,我们不能人为新建,而在Mac OS中,view默认是没有

如何解决IOS 动画中 Autolayout 与View Transforms的冲突

IOS 的动画放大与缩小,并非按照找它的中心点放大和缩小,而是左上角 .我分析了下原来是Autolayout 与View Transforms的冲突造成的. - (void) addSubviewWithZoomInAnimation:(UIView*)view duration:(float)secs option:(UIViewAnimationOptions)option { // first reduce the view to 1/100th of its original dimen

iOS动画开发之一——UIViewAnimation动画的使用

iOS动画开发之一--UIViewAnimation动画的使用 一.简介 一款APP的成功与否,除了完善的功能外,用户体验也占有极大的比重,动画的合理运用,可以很好的增强用户体验.iOS开发中,常用的动画处理有UIView动画编程和核心动画编程,其中UIView动画使用简便,开发中应用十分广泛.这篇博客,主要讨论UIView的动画使用. 二.UIView动画的几个方法 + (void)animateWithDuration:(NSTimeInterval)duration animations:

iOS动画的要素

1)iOS动画的模型:三层树模型: https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CoreAnimation_guide/CoreAnimationBasics/CoreAnimationBasics.html#//apple_ref/doc/uid/TP40004514-CH2-SW12 Layer Trees Reflect Different Aspects of the Animati

iOS动画浅汇

转自:http://www.cocoachina.com/ios/20160311/15660.html 在iOS开发中,制作动画效果是最让开发者享受的环节之一.一个设计严谨.精细的动画效果能给用户耳目一新的效果,吸引他们的眼光 —— 这对于app而言是非常重要的.我们总是追求更为酷炫的实现,如果足够仔细,我们不难发现一个好的动画通过步骤分解后本质上不过是一个个简单的动画实现.本文就个人搜集的一些动画相关的理论和实践知识做个小结,不足之处请勿见怪. 理论 UIview VS UIlayer UI

iOS 动画Animation-4-5: CALayer子类:CATransformLayer

首先说明:这是一系列文章,参考本专题下其他的文章有助于你对本文的理解. 今天周六,希望大家都有一个愉快的周末. 今天来讲解一下CATransformLayer:CATransformLayer是一个专门用来创建三维视图的一个layer,也可以说是多个layer的集合.他没有多余的API,可以这么说,他只是承载了子layer. 下面就看一个例子,通过例子来讲解. 国际惯例先上图: 图就是这样的纯手工打造. 先创建一个CATransformLayer对象: var transformLayer =

iOS动画浅汇(转)

转自:http://www.cocoachina.com/ios/20160311/15660.html 在iOS开发中,制作动画效果是最让开发者享受的环节之一.一个设计严谨.精细的动画效果能给用户耳目一新的效果,吸引他们的眼光 —— 这对于app而言是非常重要的.我们总是追求更为酷炫的实现,如果足够仔细,我们不难发现一个好的动画通过步骤分解后本质上不过是一个个简单的动画实现.本文就个人搜集的一些动画相关的理论和实践知识做个小结,不足之处请勿见怪. 理论 UIview VS UIlayer UI

iOS开发入门教程_iOS开发视频教程

iOS开发入门教程 (Object-C.网络编程.多线程.蓝牙.二维码.Cocos2D.OpenGL)适合人群:初级课时数量:34课时用到技术:IOS,Object-C,OpenGL,XCode,Cocos 2D涉及项目:Cocos+2D.Game Kit蓝牙数据处理等咨询QQ:1840215592 iOS开发入门教程详细查看:http://www.ibeifeng.com/goods-471.html1.1.课程目标iOS开发入门教程内容的目标是初学者入门,让入门者提高,让所有人符合企业招聘的

iOS 动画初步

iOS 动画初步 1. CALayer的使用 (图层) 属于QuartzCore.framework 框架 跨平台 我们在开发中使用的UIKit.framework里面的控件之所以可以看见,主要是由于他拥有了CALayer. 1 //------------------------------------------------------------------------- 2 // 图层 部分属性 3 4 // shadow 是否透明 5 self.myView.layer.shadowO