问题标签 [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.
ios - 如何使 CALayer 可点击?
我正在使用 CATransformLayer 创建一堆图层并使用 3D 透视为它们制作动画以制作一个立方体(类似这样)
将 UIButton 添加到该立方体的一侧的最佳方法是什么?我希望能够接收事件并从 IBOutlet 访问按钮。
我尝试在我的 XIB 中创建一个带有按钮的 UIView,并将其图层插入 CATransformLayer,它显示但按钮不可点击。我有一种感觉,这是因为 UIKit 处理的是触摸/事件方面的事情,图层只是用来绘制的。
(顺便说一句,我看过这个问题,但觉得这个案例的不同足以保证一个新的帖子)
catransform3d - 将 CALayers 组合并翻转为 CATransformLayer 的子视图
根据较早的stackoverflow 建议,我正在尝试使用添加到CATransformLayer 的CALayers 创建一张扑克牌。这个想法是创建前后 CALayer 并将它们组合在 CATransformLayer 中,然后可以旋转、翻转等,并自动显示正确的一面。下面是尝试创建一张正面为绿色,背面为红色的单张卡片的示例代码。
红色背面围绕 Y 轴翻转,使其背对绿色正面。绿色前面的 calayer 比红色后面的 Z 位置“更高”。
但是,当我进行转换时,我只是看到卡片似乎处于未翻转状态。有什么想法我在这里出错了吗?
ios - 如何在 iOS 中为圆形路径上的标签设置动画?
在我看来,我一直在为 uiLabel 设置动画。
实际上我只想在圆形路径上为我的标签/文本设置动画。我在互联网上搜索了很多,但找不到任何像我的问题一样的好教程或示例。我已经完成了 CAShapeLayer (circle) 从 0 增加到它的最大值....
同样,我希望我的标签/文本从圆形路径中的初始点开始移动,并在完成一圈后返回其初始点。
希望我已经非常准确地解释了我的问题……如果有任何遗漏或无法理解的话。请问我。
感谢期待。
iphone - 如何在其超层中正确定位 CATransformLayer
我在一个UIView
命名的 containerView 上创建了一个跨越整个屏幕的容器视图。在这个视图CATransormLayer
上,必须添加一个具有以下尺寸的 UIView。
它们的 x 位置由变量 positionX 指定。理论上两者都DoubleSidedLayer
必须stripView
重叠。但他们不是。
这是代码。
从日志语句中可以看到 doubleSidedLayer 和 stripView 的帧。
但两者不重叠。这是屏幕截图。
注意:我正在横向工作。
ios - 使用幻灯片过渡呈现 UIImagePickercontroller
我有一个添加了滑动手势的视图,当用户向右滑动视图时,我必须显示带有幻灯片转换的相机。我不确定如何将幻灯片添加到 UIImagepickercontroller。有人可以告诉如何实现这一目标。在此先感谢
ios - CATransformLayer 触摸事件处理
我已经在互联网和 Stackoverflow 上进行了搜索,但我找不到这个特定问题的任何答案,所以这是我的问题,
我正在尝试创建一个双面UIView
来响应两侧的触摸事件(例如 UIButton、UISwitch 等......)。我通过添加两个不同CALayer
的 s 来实现这一点CATransformLayer
。一切正常,但触摸不响应从界面生成器添加的 ui 元素。为了重现该问题,我UIView
在 nib(frontView) 中创建了一个,添加了界面生成器中的所有 ui 元素,并将该UIView
引用添加到CATransformLayer
并且一切正常,除了它不响应触摸事件。
我了解CALayer
或CATransformLayer
不继承自. 而且我相信有一种方法可以将此层带到响应者链,但我想知道如何?下面是我的简化问题代码,UIResponder
UIView
任何支持将不胜感激。提前致谢。
calayer - CATransformLayer 和 3D 旋转、威尼斯商店或手风琴之类的,保持瓷砖相邻?
我有一组垂直排列的瓷砖。它们旨在围绕 X 轴旋转。想想手风琴。我希望每个图块 n+1 始终挂在图块 n 上。
在最后两个屏幕截图中,青色瓷砖应该附在黄色瓷砖上。它不是。我不懂为什么。更不用说,为什么当我旋转第 0 行时,我会旋转所有接下来的 5 个图块(这是我想要的),但是当我想通过向另一个方向旋转从稍后的图块开始“纠正”时,我最终会在第三和第四块瓷砖。
供参考,这是设置:
现在我正在创建六个图块,就像普通的 CALayer 一样。
现在,我将每个这样的图块包装到一个父 CATransformLayer 中,然后我将其添加为上一行的子层,目的是让每个 CATransformLayer 影响它的每个子层。
在这一点上,我得到了这个:
我以为我已经搞定了,直到我将最后一行替换为:
这就是我得到的:
相反,如果我将上面的行替换为:
我明白了:
我已经阅读并重新阅读了 Apple 的文档,并密切关注这一点:
锚点影响几何操作
图层的几何相关操作相对于该图层的锚点进行,您可以使用图层的 anchorPoint 属性访问该锚点。在操纵图层的位置或变换属性时,锚点的影响最为明显。position 属性始终是相对于图层的锚点指定的,并且您应用于图层的任何变换也相对于锚点发生。
(强调我的)
公平地说,我现在完全糊涂了。任何人都可以看到/解释我做错了什么?
如何排列这些图层,使我的瓷砖始终从上到下相邻?
这是层层次结构的转储:
performance - CATransformLayer - 设置子层框架时的性能问题
我有一个 CATransformLayer,它有几个子层(CAShapeLayers)。
我将我的 CAShapeLayers 的框架设置为 (512, 512) 的大小。它们的内容(略)小于此。
在 3D 中旋转整个场景时,它会降低帧速率 - 但它可以正确渲染所有内容。
如果我没有设置 CAShapeLayers 的 frame 属性,那么它会以超快的速度旋转 3D 场景,但会出现渲染错误。这些是:
- 图层以特定角度消失
- 错误的 z 顺序(一些图层被渲染在彼此之上,应该以相反的方式渲染)
我该怎么做才能获得良好的性能和正确的渲染?
我正在设置形状图层的框架,如下所示:
ios - 以 3D 形式将 CATransformLayer 渲染为 PNG
我正在尝试将包含多个 CAShapeLayers 的 CATransformLayer 渲染为 png 文件。我知道如何设置基本渲染并且确实有效。
虽然当我在 CATransformLayer 上调用 renderInContext 时,它会将所有内容展平为 2D 并完全忽略我的转换矩阵(旋转和/或透视)。
我该怎么做才能将我的 3d CATransformLayer 及其所有 CAShapeLayers 渲染为 PNG / UIImage?
objective-c - CATransform3DRotate 的逻辑
我尝试将我的视图转换为类似于图片上的视图:(顶部和侧视图)
我之前将每个视图添加到视图中(view1 添加了 view2,它添加了 view3)。
我很难找到正确的方法让 view3 像 view1 一样返回相同的角度。
这是我尝试过的:
使用此代码,我的 View3 转角小于 45 度。所以我的问题是:如何以 45 度角从 from2 转到 view3?