问题标签 [catransform3drotate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
31 浏览

android - Android 中的旋转和透视变换(Swift 中的 CATransform3DRotate)

由于我最近几天一直在尝试将这个 swift 代码翻译成 Kotlin 用于一个大学应用程序,我想我可能需要帮助。

我需要在自定义视图中转换画布:

我的理解是:

  • .m34 是一个 4v4 索引矩阵,在 3/4 处为 -0.01
  • 然后这个矩阵在 x 轴上旋转 45 度:t' = rotation(angle, x, y, z) * t.
  • 然后将锚点设置为中心(0.5/ 0.5)
  • 最后将旋转应用于图层

我不明白的是:

  • 如何将这些步骤翻译成 Kotlin
0 投票
1 回答
97 浏览

swift - iOS Swift - 如何使用 CABasicAnimation 和 CATransform3DRotate 和“m34”变换做 360 度翻转动画?

尽管我尽了最大的努力,但我无法弄清楚如何使用 CATransform3DRotate 从左到右进行 UIView 的完整循环旋转动画。请注意,我已经可以使用 CABasicAnimation 将其旋转 360 度,但没有 CATransform3DRotate。但是,我想使用.m34变换来获得透视深度。涉及 UIView.animate/transitions 的解决方案对我想要完成的工作没有帮助。任何帮助深表感谢。

编辑:我在 Stackoverflow 和其他地方进行了广泛搜索,但没有找到任何描述如何使用 CATransform3DRotate 进行 360 度旋转的内容。在那里寻求帮助,因为这是一个以前似乎没有回答过的问题。谢谢!

这是将 UIView 旋转 180 度的代码。