淄博网站建设常见问题,我想做网站卖衣服做,建设外贸英文网站,怎么查看网站备案信息研究Core Animation已经有段时间了#xff0c;关于Core Animation#xff0c;网上没什么好的介绍。苹果网站上有篇专门的总结性介绍#xff0c;但是似乎原理性的东西不多#xff0c;看得人云山雾罩#xff0c;感觉#xff0c;写那篇东西的人#xff0c;其实是假 设读的人… 研究Core Animation已经有段时间了关于Core Animation网上没什么好的介绍。苹果网站上有篇专门的总结性介绍但是似乎原理性的东西不多看得人云山雾罩感觉写那篇东西的人其实是假 设读的人了解界面动画技术的原理的。今天有点别的事情要使用Linux忘掉了ssh的密码没办法重新设ssh结果怎么也想不起来怎么设ssh远程登 陆了没办法又到网上查了一遍太浪费时间了痛感忘记记笔记是多么可怕的事情。鉴于Core Animation的内容实在是非常繁杂应用的Obj-C语言本身的特性也很多所以写个备忘录记录一下懂的人看了后如果发现了错误还不吝指教。 1.UIView是iOS系统中界面元素的基础所有的界面元素都继承自它。它本身完全是由CoreAnimation来实现的Mac下似乎不是 这样。它真正的绘图部分是由一个叫CALayerCore Animation Layer的类来管理。UIView本身更像是一个CALayer的管理器访问它的跟绘图和跟坐标有关的属性例如framebounds等等 实际上内部都是在访问它所包含的CALayer的相关属性。 2.UIView有个layer属性可以返回它的主CALayer实例UIView有一个layerClass方法返回主layer所使用的类UIView的子类可以通过重载这个方法来让UIView使用不同的CALayer来显示例如通过 - (class) layerClass {return ([CAEAGLLayer class]);
}使某个UIView的子类使用GL来进行绘制。 3.UIView的CALayer类似UIView的子View树形结构也可以向它的layer上添加子layer来完成某些特殊的表示。例如下面的代码 grayCover [[CALayer alloc] init];
grayCover.backgroundColor [[[UIColor blackColor] colorWithAlphaComponent:0.2] CGColor];
[self.layer addSubLayer: grayCover];会在目标View上敷上一层黑色的透明薄膜。 4.UIView的layer树形在系统内部被系统维护着三份copy这段理解有点吃不准。 第一份逻辑树就是代码里可以操纵的例如更改layer的属性等等就在这一份。 第二份动画树这是一个中间层系统正在这一层上更改属性进行各种渲染操作。 第三份显示树这棵树的内容是当前正被显示在屏幕上的内容。 这三棵树的逻辑结构都是一样的区别只有各自的属性。 5.动画的运作 UIView的主layer以外我觉得是这样对它的subLayer也就是子layer的属性进行更改系统将自动进行动画生成动画持续 时间有个缺省时间个人感觉大概是0.5秒。在动画时间里系统自动判定哪些属性更改了自动对更改的属性进行动画插值生成中间帧然后连续显示产生动画 效果。 6.坐标系系统对position和anchorPoint的关系还是犯晕 CALayer的坐标系系统和UIView有点不一样它多了一个叫anchorPoint的属性它使用CGPoint结构但是值域是0~1 也就是按照比例来设置。这个点是各种图形变换的坐标原点同时会更改layer的position的位置它的缺省值是{0.5, 0.5}也就是在layer的中央。 某layer.anchorPoint CGPointMake(0.f, 0.f); 如果这么设置layer的左上角就会被挪到原来的中间的位置 加上这样一句就好了 某layer.position CGPointMake(0.f, 0.f); 7.真实例子的分析 这是iphone上iBook翻页的效果假设每一页都是一个UIView我觉得一个页面是贴了俩个Layer文字Layer显示正面的内容 背面layer用文字layer的快照做affine翻转贴在文字layer的后面。因为Layer可以设置显示阴影也许后面的阴影效果没有使用单独 的一个layer来显示。至于这个曲面效果我查了很多资料也没有结果估计是使用了GL的曲面绘图 8.最后一个让人恶心的。 layer可以设置圆角显示例如UIButton的效果也可以设置阴影显示但是如果layer树中的某个layer设置了圆角树中所有 layer的阴影效果都将显示不了了。如果既想有圆角又想要阴影好像只能做两个重叠的UIView一个的layer显示圆角一个的layer显示阴 影..... 转载于:https://www.cnblogs.com/ligun123/archive/2011/09/18/2180473.html