CoreAnimation动画结构变量

翻译 2016年06月02日 12:01:33

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处.
如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;)


免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流之用,请勿进行商业用途。同时,转载时不要移除本申明。
如产生任何纠纷,均与本博客所有人、发表该翻译稿之人无任何关系。谢谢合作!

结构实例在swift中是第一类的居民.事实上,它与类实例变量之间只有很小的区别.

不管怎样,Core Animation是建立在C语言上的Objective-C库,这意味着结构以非常不同的方式被处理.Objective-C的API偏爱处理对象,所以结构需要一些特殊的处理方法.

这就是为什么动画一个层的属性类似于颜色或者一个数值相对容易,但是动画一个结构属性比如CGPoint就不那么容易了.

这里写图片描述

对于一个CALayer来说,它拥有很多可以动画的结构属性,包括位置的类型CGPoint,变换的类型CATransform3D,以及边围的类型CGRect.为了帮助管理它们,Cocoa包含了一个NSValue类,用来”封装(boxes in)”或者”包装(wraps)”一个结构到一个对象中去.

NSValue有很多方便的初始化器,你可以对每一个需要的结构使用,包括下面一些:

init(CGPoint point: CGPoint) 
init(CGSize size: CGSize) 
init(CGRect rect: CGRect) 
init(CATransform3D t: CATransform3D)

你怎么使用这些初始化器去封装你的结构值呢?这里有一个简单的位置动画使用CGPoint,如下所示:

let move = CABasicAnimation(keyPath: "position")
move.duration = 1.0
move.fromValue = NSValue(CGPoint: CGPoint(x: 100.0, y: 100.0)) move.toValue = NSValue(CGPoint: CGPoint(x: 200.0, y: 200.0))

如果你直接将一个CGPoint赋值到fromValue或toValue,将会得到一个错误,提示你需要使用NSValue代替.你必须将CGPoint封装到一个NSValue然后再赋值到fromValue和toValue中去.

对于关键帧动画来说这也是相同的:如果你试图赋值一个CGPoint的数组到你的动画中去,同样会出错!你必须使用一个封装CGPoint的NSValue数组来代替.

CoreAnimation动画

在CoreAnimation中的动画基本概念有CALayer,CAAnimation, AddAnimation 一、CALayer CALayer 二、CAAnimation 1、C...
  • u013010963
  • u013010963
  • 2016年05月13日 15:40
  • 103

Core Animation动画概述

Core Animation动画概述 1、概述 在iOS中,图形可分为以下几个层次: 越上层,封装程度越高,动画实现越简洁越简单,但是自由度越低。本文着重介绍Core Ani...
  • BlackWolfSky
  • BlackWolfSky
  • 2016年06月02日 11:06
  • 402

Core Animation动画技术

一.视图动画         如下方法是视图控制器呈现模态视图方法,其中的animated:参数是设定动画效果的: - (void)presentViewController:(UIViewCon...
  • liangliang2727
  • liangliang2727
  • 2015年05月12日 15:18
  • 403

CoreAnimation动画入门(总结)

一.动画的基础分类 1.png 上述我们可以看到动画大体可以分为如下几类: 属性 说明 CAAnaimation 抽象类,不具备动画效果,必须用它的子类才有动画...
  • MantisPerrin
  • MantisPerrin
  • 2016年03月30日 11:57
  • 127

CoreAnimation动画系列

Core Animation 动画的使用步骤 首先要先有CALayer(因为CoreAnimation是作用在CALayer上的)。初始化一个CAAnimation对象,并设置一些动画相关属...
  • ModalYin
  • ModalYin
  • 2016年11月28日 18:18
  • 184

iOS开发之Core Animation动画

一、简介iOS动画主要是指Core Animation框架。官方使用文档地址为:Core Animation Guide。Core Animation是iOS和macOS平台上负责图形渲染与动画的基础...
  • GorLong
  • GorLong
  • 2017年03月24日 17:49
  • 272

iOS CoreAnimation动画系列教程

1.CABasicAnimation 通过设定起始点,终点,时间,动画会沿着你这设定点进行移动。可以看做特殊的CAKeyFrameAnimation 2.CAKeyframeAnimation ...
  • chengkaizone
  • chengkaizone
  • 2015年11月06日 10:57
  • 295

CoreAnimation动画实现方式

CoreAnimation动画位于iOS框架的Media层 CoreAnimation动画实现需要添加QuartzCore.Framework CoreAnimation基本上是Layer Anima...
  • zzzzhy
  • zzzzhy
  • 2016年06月02日 16:29
  • 116

gdb调试core时打印出当时变量的内容------有时可以主动制造core来看变量值

有时候, 在特殊需要时, 我们可以让程序主动core掉, 来查看当时的内容。 本文来玩玩这个: #include using namespace std; class Point { publi...
  • stpeace
  • stpeace
  • 2016年07月24日 14:59
  • 4516

android动画——属性动画(Property Animation)

视图动画请移步:http://blog.csdn.net/u013424496/article/details/51700077 属性动画 使用条件:...
  • u013424496
  • u013424496
  • 2016年07月01日 13:51
  • 3120
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CoreAnimation动画结构变量
举报原因:
原因补充:

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