问题标签 [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 投票
1 回答
932 浏览

ios - UIView Transform 属性倾斜一个圆,使其具有 3D 外观

我正在使用MKMapView带有添加的MKCircleView. 它继承自UIView,所以我可以使用 transform 属性。

它在没有变换的情况下看起来很平坦,并且在大头针旁边看起来很奇怪,因为它是 3D 的:

在此处输入图像描述

我想让它看起来类似于:

在此处输入图像描述

我试过玩设置的例子,CATransform3DRotate但所涉及的数学不是我的技能,所以没有什么比这更接近了。

我怎样才能做到这一点?

0 投票
1 回答
2168 浏览

ios - CATransform3DMakeRotation 在动画期间隐藏了一半的 UIView

将以下 UIView 动画与 CATransform3DMakeRotation 一起使用,一半的 UIView 将在转换期间消失并在完成时重新出现。这只发生在界面构建器的视图层次结构中 UIView 后面有一个 UIImageView 时。

以下是界面生成器中的视图布局

界面生成器布局

以及下面的动画结果。

在此处输入图像描述

第二张图片是在任何动画发生之前,左半边消失了。在它缩小然后增长超过中心点后,右侧(之前的左侧)重新出现,如第 4 幅图所示。

当使用设置背景图像时

动画按预期完成。

0 投票
1 回答
197 浏览

objective-c - 在 3D 空间中旋转时隐藏 UIViews 背面可见性 - Objective C

在 CSS3 中有一个名为backface-visibility( Mozilla Developer Network's description )的属性

在 Cocoa Touch/Objective C 中是否有类似的东西,它允许我在 3D 空间中旋转它时隐藏 UIView 的内容(除了它的背景颜色)?

(这里还有一个 HTML5 演示:CSS3 demo

我真的不想在动画中硬编码来隐藏/淡出/在子视图中!

谢谢。:)

0 投票
0 回答
617 浏览

uiview - 在 Y 和 Z 方向上倾斜 UIView

我的图形是这样的,为了使我的视图内容与图形正确对齐,它需要深度旋转,即沿 z 轴旋转。可能沿 z 方向 5-10 度,沿 y 方向负 5-10 度。

目前我使用这个:(argView是我的imageview)

然而,这给了我非常扭曲的形象——绝对不是我想要的,但我不知道我应该在那里提供什么。

我从阅读苹果文档开始,但是有太多的功能让我感到困惑。如果有人有任何好的指南可以让我很容易,那就太好了。如果有人能指出这件事在哪里完成,那就更好了。

0 投票
1 回答
1464 浏览

core-animation - CALayer sublayerTransform (CATransform3D) - 我怎样才能移动“相机”?

尝试A

这段代码

给出这个结果

一种

红框是图层的背景色

尝试 B

这段代码

给出这个结果

乙

红框是图层的背景色

那么有什么问题呢?

在“尝试 A”的渲染示例中,从左侧中心看到折叠,因此从错误的角度看到折叠(左折叠比右折叠稍微薄)

通过在 x 轴上平移它,如在“尝试 B”中,我能够正确渲染它,但随后出现另一个错误:内容现在超出范围(红色矩形是范围)。

我怎样才能让相机从中间?

0 投票
1 回答
654 浏览

uilabel - UILabel 上的透视变换

我正在尝试在 a 上添加一些透视图UILabel,以使其显示就好像它被画在一个有角度的脸上一样。

这是我的测试标签:

描述

应用变换后:

在此处输入图像描述

我的代码:

我遇到了一堆问题:

  1. 标签内的文本似乎不像它UILabel本身那样应用转换。它超出框架(剪辑),未居中,并且几何形状似乎不正确。也许尺寸也是错误的?
  2. 它是模糊的。如何在光栅化之前对文本向量应用变换。我认为这会产生清晰的结果。
  3. 我似乎无法弄清楚旋转之间的协调zDistancedegrees因此它们会产生正确的视角。我怎样才能zDistance正确计算基于degrees

任何帮助解决 (1) (2) (3) 将不胜感激。非常感谢

0 投票
2 回答
934 浏览

ios - CATransform3DRotate 后我的一半视图消失了

我有 1 个视图,在这个视图中我有 1 个 UIImageView 和 UILabel,当我旋转视图时,视图的一半消失了。

这是我的代码

viewToAnimate 是包含图像和标签的视图。

0 投票
1 回答
1942 浏览

objective-c - 使用 CATransform3D

我正在尝试在 tableview 上进行旋转以倾斜桌子(以产生类似于星球大战开幕式爬行的 3d 文本爬行效果)。

环顾四周后发现这个问题objective-с CALayer UIView real rotation

并且接受的答案似乎做了我想要的,但是当我将代码应用到我的 TableView 时,它什么也不做,表格像往常一样出现。

这是我正在复制的代码:

在创建我的字符串数组(填充 tableView)后,我将它放在我的 viewDidLoad 方法中

我目前在 Controller 中只有三个其他方法:

didReceiveMemoryWarning(项目创建时自动添加)

tableView: numberOfRowsInSelection (用于设置表格视图) tableView: cellForRowAtIndexPath (用于设置表格视图和设置单元格文本形成数组)

我的理解是 tableview 有一个 CALayer,并且 CATransform3D 操纵它以在 3d 空间中表示视图。如果我的理解是正确的,那么我不明白为什么列表会正常显示在屏幕上?我很欣赏我还没有给出我想要的效果的数字,但它们至少应该影响 tableView 在屏幕上的外观。

我还导入了 QuartzCore 等并将其添加到链接框架中


解决方案是在检查单元格是否为空后,在 - (UITableViewCell *)tableView: cellForRowAtIndexPath: 方法中使用标记为 OLD 答案的代码。

0 投票
2 回答
2264 浏览

iphone - 使用 CATransform3DMakeRotation 时没有透视

我正在尝试使用CATransform3DMakeRotation. 我很困惑为什么这个简单的例子没有显示透视图,而是看起来被压扁了。使用时我可以让旋转工作CATransform3DRotate,但我不想旋转,我想旋转到。谢谢。

这是它的截图:

截屏

大卫回答后更新:

只是为了加强大卫关于顺序很重要的观点,我想看看矩阵的差异并将其编码:

产生这个输出:

0 投票
1 回答
548 浏览

ios - 无法再次翻转图层,CALayer,CATransform3DRotate。

我想做的是:

  1. 单击一个按钮进行垂直翻转。
  2. 再次单击一个按钮,图层将其翻转回来,依此类推...

代码如下:

但是,在第 1 步,我可以看到图层翻转了 180 度,当我再次单击该按钮时,没有任何反应。

我在中间错过了什么吗?请帮忙。