Skip to content

Commit 1af2618

Browse files
committed
显示动画错别字
1 parent 977437d commit 1af2618

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

8-显式动画/显式动画.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ self.colorLayer.backgroundColor = color.CGColor;
215215
216216
当使用`-addAnimation:forKey:`把动画添加到图层,这里有一个到目前为止我们都设置为`nil`的`key`参数。这里的键是`-animationForKey:`方法找到对应动画的唯一标识符,而当前动画的所有键都可以用`animationKeys`获取。如果我们对每个动画都关联一个唯一的键,就可以对每个图层循环所有键,然后调用`-animationForKey:`来比对结果。尽管这不是一个优雅的实现。
217217
218-
幸运的是,还有一种更加简单的方法。像所有的`NSObject`子类一样,`CAAnimation`实现了KVC(键-值-编码)协议,于是你可以用`-setValue:forKey:`和`-valueForKey:`方法来存取属性。但是`CAAnimation`有一个不同的性能:它更像一个`NSDictionary`,可以让你随意设置键值对,即使和你使用的动画类所声明的属性并不匹配。
218+
幸运的是,还有一种更加简单的方法。像所有的`NSObject`子类一样,`CAAnimation`实现了KVC(键-值-编码)协议,于是你可以用`-setValue:forKey:`和`-valueForKey:`方法来存取属性。但是`CAAnimation`有一个与众不同的特性:它更像一个`NSDictionary`,可以让你随意设置键值对,即使和你使用的动画类所声明的属性并不匹配。
219219
220220
这意味着你可以对动画用任意类型打标签。在这里,我们给`UIView`类型的指针添加的动画,所以可以简单地判断动画到底属于哪个视图,然后在委托方法中用这个信息正确地更新钟的指针(清单8.4)。
221221
@@ -310,7 +310,7 @@ self.colorLayer.backgroundColor = color.CGColor;
310310

311311
`CAKeyframeAnimation`是另一种UIKit没有暴露出来但功能强大的类。和`CABasicAnimation`类似,`CAKeyframeAnimation`同样是`CAPropertyAnimation`的一个子类,它依然作用于单一的一个属性,但是和`CABasicAnimation`不一样的是,它不限制于设置一个起始和结束的值,而是可以根据一连串随意的值来做动画。
312312

313-
*关键帧*起源于传动动画,意思是指主导的动画在显著改变发生时重绘当前帧(也就是*关键*帧),每帧之间剩下的绘制(可以通过关键帧推算出)将由熟练的艺术家来完成。`CAKeyframeAnimation`也是同样的道理:你提供了显著的帧,然后Core Animation在每帧之间进行插入
313+
*关键帧*起源于传动动画,意思是指主导的动画在显著改变发生时重绘当前帧(也就是*关键*帧),每帧之间剩下的绘制(可以通过关键帧推算出)将由熟练的艺术家来完成。`CAKeyframeAnimation`也是同样的道理:你提供了显著的帧,然后Core Animation在每帧之间进行插值
314314

315315
我们可以用之前使用颜色图层的例子来演示,设置一个颜色的数组,然后通过关键帧动画播放出来(清单8.5)
316316

@@ -578,7 +578,7 @@ self.colorLayer.backgroundColor = color.CGColor;
578578

579579
我们在第七章的例子中就已经用到过`kCATransitionPush`,它创建了一个新的图层,从边缘的一侧滑动进来,把旧图层从另一侧推出去的效果。
580580

581-
`kCATransitionMoveIn``kCATransitionReveal``kCATransitionPush`类似,都实现了一个定向滑动的动画,但是有一些细微的不同,`kCATransitionMoveIn`从顶部滑动进入,但不像推送动画那样把老土层推走,然而`kCATransitionReveal`把原始的图层滑动出去来显示新的外观,而不是把新的图层滑动进入。
581+
`kCATransitionMoveIn``kCATransitionReveal``kCATransitionPush`类似,都实现了一个定向滑动的动画,但是有一些细微的不同,`kCATransitionMoveIn`从顶部滑动进入,但不像推送动画那样把老图层推走,然而`kCATransitionReveal`把原始的图层滑动出去来显示新的外观,而不是把新的图层滑动进入。
582582

583583
后面三种过渡类型都有一个默认的动画方向,它们都从左侧滑入,但是你可以通过`subtype`来控制它们的方向,提供了如下四种类型:
584584

@@ -730,7 +730,7 @@ self.colorLayer.backgroundColor = color.CGColor;
730730
@end
731731
```
732732
733-
文档暗示过在iOS5(带来了Core Image框架)之后,可以通过`CATransition`的`filter`属性,用`CIFilter`来创建其它的过渡效果。然是直到iOS6都做不到这点。试图对`CATransition`使用Core Image的滤镜完全没效果(但是在Mac OS中是可行的,也许文档是想表达这个意思)。
733+
文档暗示过在iOS5(带来了Core Image框架)之后,可以通过`CATransition`的`filter`属性,用`CIFilter`来创建其它的过渡效果。然而直到iOS6都做不到这点。试图对`CATransition`使用Core Image的滤镜完全没效果(但是在Mac OS中是可行的,也许文档是想表达这个意思)。
734734
735735
因此,根据要实现的效果,你只用关心是用`CATransition`还是用`UIView`的过渡方法就可以了。希望下个版本的iOS系统可以通过`CATransition`很好的支持Core Image的过渡滤镜效果(或许甚至会有新的方法)。
736736

0 commit comments

Comments
 (0)