objective-c – CATransformLayer不支持隐式动画?

objective-c – CATransformLayer不支持隐式动画?,第1张

概述这是我的动画代码: CGFloat zDistance = 850;CGFloat scaleFactor = BACK_COVER_WIDTH / self.transformLayer.bounds.size.width;CATransform3D rotation = CATransform3DMakeRotation(M_PI, 0.0, 1.0, 0.0);CATransform3 这是我的动画代码:

CGfloat zdistance = 850;CGfloat scaleFactor = BACK_COVER_WIDTH / self.transformLayer.bounds.size.wIDth;CAtransform3D rotation = CAtransform3DMakeRotation(M_PI,0.0,1.0,0.0);CAtransform3D scale = CAtransform3DMakeScale(scaleFactor,scaleFactor,0.0);CAtransform3D transform = CAtransform3DConcat(rotation,scale);transform.m34 = 1.0 / -zdistance;CGPoint location = CGPointMake(CGRectGetMIDX(self.layer.frame),CGRectGetMIDY(self.layer.frame));[CATransaction begin];[CATransaction setAnimationDuration:1.0];self.transformLayer.transform = transform;self.transformLayer.position = location;[CATransaction commit];

self.transformLayer是一个带有两个子层的CAtransformLayer,一个用于前面,一个用于后面(我正在创建一个“翻转”效果).但是,此代码只设置位置和变换而不动画.所以我认为也许变换不支持隐式动画,所以我把它拿出来并尝试设置位置,但这也没有动画(我知道这个位置支持隐式动画).

我做错了什么或CAtransformLayer不支持隐式动画?文档没有说它不支持它,所以我假设它.

编辑:这适用于Mac OS X,而不适用于iOS

解决方法@H_419_22@ 我最后只使用了明确的动画,但DavID Duncan的答案 here似乎是朝着正确的方向迈出的一步,对于遇到这个问题的其他人来说. 总结

以上是内存溢出为你收集整理的objective-c – CATransformLayer不支持隐式动画?全部内容,希望文章能够帮你解决objective-c – CATransformLayer不支持隐式动画?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1009231.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存