问题标签 [catransformlayer]

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 回答
121 浏览

3d - CATransformLayer - CAReplicatorLayer - 真正的 3D 复制

是否可以使用 CAReplicatorLayer 获得真正的 3D 复制?

现在,我在 x、y 和 z 轴上设置了 30 度的复制角度和 10 次复制。

我的 CAReplicatorLayer 是 CATransformLayer 的子对象,我旋转它以从顶部(等距)获得视图。不幸的是,结果是我看到一个平面 CAReplicatorLayer 在我的 3D 世界中“漂浮”,它将它的 3D 内容渲染成一个 2D 平面。

有可能让它成为真正的3D吗?

0 投票
1 回答
94 浏览

ios - CaAnimations 无法正常工作

我正在为 mac 制作应用程序。我连续有 5 张牌,单击按钮后,所有牌都应按顺序翻转(在第一张牌翻转后,第二张牌应翻转)。我遇到的问题如下

当我单击动画按钮并且卡片应该从后到前翻转(颜色到数字)时,一切都很好。它们通过围绕 Y 轴的翻转旋转一个接一个地完美地制作动画。

但是当我点击动画按钮并且卡片应该以相反的方式移动(数字到颜色)时,会发生以下情况:所有卡片都将它们的初始层替换为没有任何动画的背面层,并且一次全部完成。

之后,每张卡片一张一张(依次)更改为正确的前层并动画到后层。

这是动画的视频

https://www.youtube.com/watch?v=fznUFR6pHCQ&feature=youtu.be

我要改变什么才能让动画正常。

我像这样初始化卡片

点击一个按钮,我调用这个函数

这是翻转类(flip1-5):.m 文件

.h 文件

0 投票
0 回答
41 浏览

ios - CATransformLayer 的不透明度是否应该传递给它的孩子?

我有一个正面和背面的卡片视图。正面和背面由CALayers 组成CATranformLayer。后面的图层被变换为翻转到正确的方向,然后在 z 方向上移动到稍微落后于前面。

两个 CALayer 相互叠加(最低层被水平翻转),由 CATransformLayer 包含

当我将父对象的不透明度CATransformLayer从 1.0 调整为 0.0 时,我希望看到正面淡出,但看到的是双方混合并一起淡出。

我之前通过将双方的doublesided属性设置为 来解决此问题NO,但这引发了警告:

…事情是,它确实有效果。设置doublesided为 no 可防止在淡出时混合图层。doublesided以下是未设置时发生的情况(默认为YES):

在此处输入图像描述

这是一个错误CATransformLayer还是我的理解错误?

也是问题的要点

0 投票
1 回答
1724 浏览

ios - 不是从中心缩放 UIView,而是使用 CATransform3DScale 从右下角缩放

我想根据滚动缩放(缩小)个人资料图片。但是,主要的是,我不想从中心点而是从右下角缩放它。意味着,应该固定右下角并且图像应该从左和上边缘收缩,如图所示:

这就是我在做什么。个人资料图片名为imgVwProfilePic

现在,我知道我必须为该图像视图设置锚点。但我不知道我会在哪里设置它。我将其设置为viewDidLoad,但它会更改该图像视图的原始框架。

0 投票
1 回答
1498 浏览

ios - 自动布局和 CGAffineTransform

我正在尝试在用户交互期间缩放 UIView,并在视图上实现了 CGAffineTransform,如下所示:

这似乎很好地缩放了视图,但后来我注意到在屏幕上移动视图时开始出现不可预测的结果,并且做了一些研究我了解到这可能是因为我正在使用自动布局。建议是动画层而不是视图对象。

所以我尝试重构上面的代码来使用CATranform3D,因为它似乎CAAffineTransform无法应用于图层。但一个CATransform3D可能是。但我无法弄清楚如何使用该 Transform 对象使图层缩放。

我试图将转换应用于视图层,如下所示:

这扩展了我视图的所有子层

但我尝试将其应用于

我收到一条错误消息

分配给只读属性

我还查看了CATransformLayer课程,但是当尝试将其分配给 self.layer 时,我收到一条错误消息:

从不兼容的类型 CATransform3D 分配给 CATransformLayer

所以我的问题是,有没有办法在不干扰自动布局坐标的情况下缩放 UIView 的图层。

0 投票
1 回答
338 浏览

ios - 双面 UIView 不起作用

我有一个UIView被调用的子类TitleView,这个子类所做的就是覆盖layerClass返回CATransformLayer

我的titleView财产有一些子视图;一个titleBackgroundView和一个titleLabel

当我运行我的代码时,titleView顶层是可见的(绿色背景),但是当我运行我的翻转动画时,没有动画。代码只是跳转到结束状态。此外,没有可见的底层(红色背景),只是titleView(转换后的titleLabel)的反转版本。

在 IBOutlet 设置器中,我有以下代码:

titleView动画代码:

0 投票
1 回答
430 浏览

ios - 在 CATransformLayer iOS 中使用 CATransform3D 从右到左更改透视角度

我正在尝试绘制一个 3d 块!

使用 2 层,右侧的 3d 看起来不错。见附图。

在此处输入图像描述

当我试图重用相同的代码进行左侧的小修改时!它看起来很奇怪。见下图,

在此处输入图像描述

我觉得如果我们可以改变视角,我们可以改进,但不知道如何实现。

用于transform.m34透视。任何帮助将不胜感激。

这是我正在使用的源代码。

0 投票
1 回答
695 浏览

ios - 将 UIPinchGestureRecognizer 缩放级别目标 C 限制为 Swift 3.0

iOS 10.2 斯威夫特 3.0

试图从 Paul Solt 博客翻译这段代码。由 SO 海报修复,更新代码!

http://paulsolt.com/blog/2011/03/limiting-uipinchgesturerecognizer-zoom-levels

示例代码

几乎完成了,但似乎找不到对此处用于 Swift 3.0 的 CATransform 键的引用。我的代码...