Code Monkey home page Code Monkey logo

ios-core-animation-advanced-techniques's People

Contributors

949478479 avatar 963239327 avatar aachartmodel avatar ainopara avatar baoyongzhang avatar bigday avatar cwwise avatar daniate avatar daviyang35 avatar evenluo avatar fuxiaohui avatar hhgz9527 avatar javenwang avatar mailworks avatar mamong avatar nathanli avatar pinlin168 avatar prorigorous avatar qunten avatar qxw avatar tony0x59 avatar various avatar wang9262 avatar webpatch avatar whiteath avatar wujichao avatar yyny1789 avatar zhengbuqian avatar zld avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ios-core-animation-advanced-techniques's Issues

第五节变换里的代码有问题呀。

https://github.com/AttackOnDobby/iOS-Core-Animation-Advanced-Techniques/blob/master/5-%E5%8F%98%E6%8D%A2/%E5%8F%98%E6%8D%A2.md#%E5%85%89%E4%BA%AE%E5%92%8C%E9%98%B4%E5%BD%B1

  • (void)applyLightingToFace:(CALayer *)face
    {
    .....
    CATransform3D transform = face.transform;
    GLKMatrix4 matrix4 = *(GLKMatrix4 *)&transform;
    这里GLKMatrix4和CATransform3D内存布局不一样呀。

我自己测试时用的是如下代码转换的

  • (GLKMatrix4)matrixFrom3DTransformation:(CATransform3D)transform
    {
    GLKMatrix4 matrix = GLKMatrix4Make(transform.m11, transform.m12, transform.m13, transform.m14,
    transform.m21, transform.m22, transform.m23, transform.m24,
    transform.m31, transform.m32, transform.m33, transform.m34,
    transform.m41, transform.m42, transform.m43, transform.m44);

    return matrix;
    }

错别字

1、11章基于定时器的动画-->11.1定时帧
清单11.2 通过测量没(每)帧持续的时间来使得动画更加平滑
2、11章基于定时器的动画-->11.2物理模拟
我们实际上实(是)在按需要在计算。意义在于我们可以根据用户输入实时修改动画的逻辑,或者和别的实
时动画系统例如物理引擎进行整合。(Ps:(例如物理引擎)加上括号效果更好)
但即使模拟2D的物理效果就已近(已经)极其复杂
3、12章性能调优
但是这些仅仅阶段(阶段)仅仅发生在你的应用程序之内,在动画在屏幕上显示(显示在屏幕上)之前仍然有
更多的工作。
4、13章高效绘图
这就避免了阻塞用户交互而且能够利用多核心新片(芯片)来更快地绘制。

Getting more done in GitHub with ZenHub

Hola! @vlan1000 has created a ZenHub account for the AttackOnDobby organization. ZenHub is the only project management tool integrated natively in GitHub – created specifically for fast-moving, software-driven teams.


How do I use ZenHub?

To get set up with ZenHub, all you have to do is download the browser extension and log in with your GitHub account. Once you do, you’ll get access to ZenHub’s complete feature-set immediately.

What can ZenHub do?

ZenHub adds a series of enhancements directly inside the GitHub UI:

  • Real-time, customizable task boards for GitHub issues;
  • Multi-Repository burndown charts, estimates, and velocity tracking based on GitHub Milestones;
  • Personal to-do lists and task prioritization;
  • Time-saving shortcuts – like a quick repo switcher, a “Move issue” button, and much more.

Add ZenHub to GitHub

Still curious? See more ZenHub features or read user reviews. This issue was written by your friendly ZenHub bot, posted by request from @vlan1000.

ZenHub Board

翻译不准确


第3章图层几何学
锚点处:

之前提到过,视图的center属性和图层的position属性都指定了相对于父图层anchorPoint的位置

会让人误以为这里的anchorPoint指的是父图层的anchorPoint。
再原文意思应该是:
之前提到过,视图的center属性和图层的position属性都指定了图层anchorPoint相对于父图层的位置

7-隐式动画-图层行为 这部分可能有个问题

『于是这就解释了UIKit是如何禁用隐式动画的:每个UIView对它关联的图层都扮演了一个委托,并且提供了-actionForLayer:forKey的实现方法。当不在一个动画块的实现中,UIView对所有图层行为返回nil,但是在动画block范围之内,它就返回了一个非空值』,实际上是返回NSNull对象,而非nil。

layer 通过向它的 delegate 发送 actionForLayer:forKey: 消息来询问提供一个对应属性变化的 action。delegate 可以通过返回以下三者之一来进行响应:

它可以返回一个动作对象,这种情况下 layer 将使用这个动作。
它可以返回一个 nil, 这样 layer 就会到其他地方继续寻找。
它可以返回一个 NSNull 对象,告诉 layer 这里不需要执行一个动作,搜索也会就此停止。
http://objccn.io/issue-12-4/

第五章变化中,仿射变换中,关于矩阵的描述有些问题。

https://github.com/AttackOnDobby/iOS-Core-Animation-Advanced-Techniques/blob/master/5-%E5%8F%98%E6%8D%A2/%E5%8F%98%E6%8D%A2.md#仿射变换
第五章变化中,仿射变换中,关于矩阵的描述有些问题。
原文如下:
用CGPoint的每一列和CGAffineTransform矩阵的每一行对应元素相乘再求和,就形成了一个新的CGPoint类型的结果。
应为:
用CGPoint的每一__和CGAffineTransform矩阵的每一****对应元素相乘再求和,就形成了一个新的CGPoint类型的结果。

4-视觉效果.md 组透明

但是性能碰撞都本地化了

原文:

but the performance impact is localized.

这里的 localized 感觉是 局部 的意思,可能是指:但是性能冲突被限制的很好

第二章 寄宿图 中的一个像素比例错误

原文:
如果contentsScale设置为1.0,将会以每个点1个像素绘制图片,如果设置为2.0,则会以每个点2个像素绘制图片,这就是我们熟知的Retina屏幕。(如果你对像素和点的概念不是很清楚的话,这个章节的后面部分将会对此做出解释)。
修改:
如果contentsScale设置为1.0,将会以每个点1个像素绘制图片,如果设置为2.0,则会以每个点4个像素绘制图片,这就是我们熟知的Retina屏幕。(如果你对像素和点的概念不是很清楚的话,这个章节的后面部分将会对此做出解释)。
个人理解: scale为2.0表示的是横向2个像素,竖向2个像素,那就是4个像素

配图和代码 不搭配

隐式动画 97行
用来在每次颜色变化结束之后切换到另一个旋转90的动画。代码见清单7.3,运行结果见图7.2。

代码和说明都是90度 但是配图可能是45度的

程序会crash

图层性能章节 258行到301行这段代码在 scrollView 滑动的时候程序会crash

第5章-变换

非常感谢整理并提供的学习资料

请问第5章-变换的第一个demo

@interface ViewController ()

@property (nonatomic, weak) IBOutlet UIView *layerView;

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    //rotate the layer 45 degrees
    CGAffineTransform transform = CGAffineTransformMakeRotation(M_PI_4);
    self.layerView.layer.affineTransform = transform;
}

@end

演示的是view的transform属性,怎么设置给了layer的transform,affineTransform是自己自定义的一个layer的属性吧?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.