初学ios开发,很多概念还不清楚,所以只有边学边做例子。又怕学了后面忘了前面,因此用自己的博客来纪录自己的学习历程,也是对自己学习不要懈怠做个监督。

刚学ios做动画效果。因为ios封装得很好,实现ios的漂亮动画效果也很简单,却因为我自己的粗心落了一个字母 导致纠结了一天,这个教训必须记住,同时也懂得了调试技能在编程里地位也是非常重要的存在。

实现ios动画有两种方法:一种UIView层面的,一种是使用CATransition.

  1. - (void)viewDidLoad
  2. {
  3. [super viewDidLoad];
  4. // Do any additional setup after loading the view.
  5. UIView *redView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
  6. redView.backgroundColor = [UIColor redColor];
  7. [self.view addSubview:redView];
  8. UIView *yellowView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
  9. yellowView.backgroundColor = [UIColor yellowColor];
  10. [self.view addSubview:yellowView];
  11. UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
  12. [button setTitle:@"改变1" forState:UIControlStateNormal];
  13. button.frame = CGRectMake(10, 10, 300, 40);
  14. [button addTarget:self action:@selector(changeUIView1) forControlEvents:UIControlEventTouchUpInside];
  15. [self.view addSubview:button];
  16. UIButton *button2 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
  17. [button2 setTitle:@"改变2" forState:UIControlStateNormal];
  18. button2.frame = CGRectMake(10, 120, 300, 40);
  19. [button2 addTarget:self action:@selector(changeUIView2) forControlEvents:UIControlEventTouchUpInside];
  20. [self.view addSubview:button2];
  21. }
  22. -(void) changeUIView1{
  23. [UIView beginAnimations:@"animation" context:nil];
  24. [UIView setAnimationDuration:1.0f];
  25. [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
  26. [UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self.view cache:YES];
  27. [self.view exchangeSubviewAtIndex:1 withSubviewAtIndex:0  ];
  28. [UIView commitAnimations];
  29. }
  30. -(void) changeUIView2{
  31. CATransition *transition = [CATransition animation];
  32. transition.delegate = self;
  33. transition.duration = 2.0f;
  34. transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn];
  35. transition.type = kCATransitionPush;
  36. transition.type = @"pageCurl"  ;//另一种设置动画效果方法
  37. transition.subtype = kCATransitionFromBottom;
  38. [self.view exchangeSubviewAtIndex:1 withSubviewAtIndex:0];
  39. [self.view.layer addAnimation:transition forKey:@"animation"];
  40. }

调用CATransition需要在frameworks中添加QuartzCore.framework,在.h文件中加入  #import <QuartzCore/QuartzCore.h>

setType:有四种类型:

kCATransitionFade                   //交叉淡化过渡

kCATransitionMoveIn               //移动覆盖原图

kCATransitionPush                    //新视图将旧视图推出去

kCATransitionReveal                //底部显出来

另一种设置方法

pageCurl     //向上翻一页

pageUnCurl   //向下翻一页

rippleEffect   //滴水效果

suckEffect     //收缩效果,如一块布被抽走

cube       //立方体效果

oglFlip      //上下翻转效果

setSubtype:有四种类型:

kCATransitionFromRight;

kCATransitionFromLeft(默认值)

kCATransitionFromTop;

kCATransitionFromBottom

ios 动画效果CATransition笔记的更多相关文章

  1. iOS动画效果和实现

    动画效果提供了状态或页面转换时流畅的用户体验,在iOS系统中,咱们不需要自己编写绘制动画的代码,Core Animation提供了丰富的api来实现你需要的动画效果. UIKit只用UIView来展示 ...

  2. iOS 动画效果:Core Animation & Facebook's pop

    本文转载至 http://www.cocoachina.com/ios/20151223/14739.html 感谢原创作者分享 前言相信很多人对实现 iOS 中的动画效果都特别头疼,往往懒得动手,功 ...

  3. iOS动画效果集合、 通过摄像头获取心率、仿淘宝滑动样式、瀑布流、分类切换布局等源码

    iOS精选源码 动画知识运用及常见动画效果收集 较为美观的多级展开列表 MUImageCache -简单轻量的图片缓存方案 iOS 瀑布流之栅格布局 一用就上瘾的JXCategoryView iOS ...

  4. iOS动画效果合集、飞吧企鹅游戏、换肤方案、画板、文字效果等源码

    iOS精选源码 动画知识运用及常见动画效果收集 3D卡片拖拽卡片叠加卡片 iFIERO - FLYING PENGUIN 飞吧企鹅SpriteKit游戏(源码) Swift封装的空数据提醒界面Empt ...

  5. iOS UIView动画效果 学习笔记

    //启动页动画 UIImageView *launchScreen = [[UIImageView alloc]initWithFrame:[UIScreen mainScreen].bounds]; ...

  6. ios动画效果集锦(持续更新)

    1.树叶滚动进度:http://www.jianshu.com/p/800496caa055 2.列表滚动动画和滚动视差效果http://www.jianshu.com/p/42e1eb59a1af ...

  7. iOS 动画效果。简单的提示消失

    UILabel * label1 = [[UILabel alloc]initWithFrame:CGRectMake(, , , )]; label1.text = @"qingjoin& ...

  8. iOS开动画效果之──实现 pushViewController 默认动画效果

    在开发中,视图切换会常常遇到,有时我们不是基于导航控制器的切换,但实际开发中,有时需要做成push效果,下面将如何实现push和pop 默认动画效果代码实例: 一.push默认动画效果 CATrans ...

  9. (转)iOS动画Core Animation

    文章转载:http://blog.sina.com.cn/s/blog_7b9d64af0101b8nh.html 在iOS中动画实现技术主要是:Core Animation. Core Animat ...

随机推荐

  1. Erlang安装简介

    什么是 Erlang? Erlang 由 Ericsson (爱立信公司)开发,用于帮助开发管理许多电信项目的软件.Erlang 的第一个版本发布于 1986 年,1998 年发布了它的第一个开放源码 ...

  2. 【HDOJ】2795 Billboard

    线段树.注意h范围(小于等于n). #include <stdio.h> #include <string.h> #define MAXN 200005 #define lso ...

  3. bzoj2821

    其实和bzoj2724是一样的都是先处理多个块的答案,然后多余部分暴力空间要注意一下,还是O(nsqrt(n)); ..,..] of longint; g:..,..] of longint; a, ...

  4. BZOJ1609: [Usaco2008 Feb]Eating Together麻烦的聚餐

    1609: [Usaco2008 Feb]Eating Together麻烦的聚餐 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 938  Solved ...

  5. HDU 4722 Good Numbers 2013年四川省赛题

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4722 题目大意:给定一个区间,求区间中有多少个满足每位上的数的和是10的倍数. 解题思路:先打表暴力求 ...

  6. 佛山Uber优步司机奖励政策(1月25日~1月31日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  7. microsoft visual studio 不能逐句执行?

    最近在使用vs2013过程中,vs2013不能逐行执行,在不设断点的情况下,根本停不下来按一下F11,整个程序就执行完了.百度了很久也没找到方法(看的还不够仔细),卸载安装了很多次(看我够笨的吧),最 ...

  8. 规则引擎QLExpress的简单应用

    QLExpress 是一个轻量级的类java语法规则引擎,作为一个嵌入式规则引擎在业务系统中使用.让业务规则定义简便而不失灵活.让业务人员就可以定义业务规则.支持标 准的JAVA语法,还可以支持自定义 ...

  9. SuperSocket使用demo

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using SuperSocket. ...

  10. 用户浏览器关闭cookie处理方法

    方法一: function getSessionId(){ var c_name = "jsessionid"; // alert("cookie:"+docu ...