问题标签 [calayer]
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.
iphone - 使用核心动画层制作 GIF 动画?
我正在尝试制作 GIF 动画,但遇到了障碍。我有一个示例,说明我正在尝试使用 GIF 的各个帧并设置 UIView 的 animationImages 属性。但是在我的项目中,我想要动画的东西是使用图层绘制的。我正在寻找一种快速简便的方法来为帧设置动画,而不会引入太多复杂性。是否有任何与图层等效的动画图像?有人有什么想法吗?
iphone - CALayers 没有在其 UIView 的边界更改时调整大小。为什么?
我有一个添加了UIView
大约 8 个不同CALayer
子层的图层。如果我修改视图的边界(动画),那么视图本身会缩小(我用 a 检查了它backgroundColor
),但子层的大小保持不变。
如何解决这个问题?
iphone - 如何平铺 CALayer 的内容?
我想在 CALayer 上平铺 CGImage,但它似乎只想拉伸它。
示例代码:
如果可以的话,我想避免子类化。
iphone - 在 UITableViewCell 中使用 CALayer
在我的表格视图的每个单元格上,我希望有一个用户可以从右侧滑出的栏。在栏上我计划有图标。所以,为了做到这一点,我将 UITableViewCell 子类化了。在单元格上我已经实现了 drawRect 并且在那里我已经在单元格上绘制了渐变和背景颜色。从那里,我可以创建一个 CALayer,给它一个框架和背景颜色,并将它作为一个子层添加到 Views subLayers 数组中。我可以做到这一切,它会在每个 UITableViewCell 上显示我的图层。
我已经向单元格添加了触摸事件,因此我可以检测用户何时触摸单元格并进行测试,因此当用户滑动时,我的 CALayer 会变宽。但问题是,当 UITableView 滚动并重用 CALayer 已加宽的单元格时,它不会重新创建 CALayer。我试过了
并使用了它的委托的 drawLayer:inContext 方法,它没有被调用。我还尝试在 UITableViewController 的单元格上调用 setNeedsDisplay,希望这会导致重绘,但它不起作用。
我不确定我错过了什么。我是 CoreGraphics 和 CoreAnimation 的新手。我已经阅读了 CoreAnimation 开发人员指南,但我假设我遗漏了一些东西。任何帮助都会很棒。
iphone - CALayer 和石英透明度
我有一个 CALayer 子类。我已经覆盖了 drawInContext 方法。我希望我的大部分图层都是透明的,除了少数区域。我将图层用作菜单,我希望菜单上的图标和标签不透明。
如果超级 CALayer 是透明的,是否可以让 CALayer 的子层不透明?
是否可以在透明 CALayer 的 drawInContext 方法中绘制不透明的项目?我曾尝试使用 CGContextSetAlpha,但我认为它不起作用,因为我正在绘制的 CALayer 是透明的。
与往常一样,任何帮助都会很棒。
iphone - 使用 CGLayers 创建自定义动画?
基本上,我想制作一个缩小的圆圈。我已经通过在 CGLayer 上绘制越来越小的圆圈来完成此操作,然后使用
if(index < 30){
[self performSelector:@selector(showNextLayer) withObject:nil afterDelay:(NSTimeInterval)0.02]; 索引++;
}
在我的 showNextLayer 方法中。这适用于我的简单目标,但总的来说,这是绘制自定义动画的一种或多或少明智的方式吗?
Apple 有很多关于动画的文档 - 足以让我感到困惑 - 但据我 - 最终 - 了解:
- UIView 提供的动画服务非常适合动画一些基本的视图属性,视图转换等,
- 那些由继承自 CAAnimation 的类提供的那些,适用于动画属性,如颜色变化、3d 转换等。
- UIViewImage 非常适合动画自定义位图图像(当您可以在 CGLayer 中绘制圆圈时,创建位图图像不是一个好主意)。
在我看来,显示一系列 CGLayer 的内容也将得到支持,我错过了什么吗?
提前感谢您的任何澄清..
iphone - 如何转换(旋转)已经存在的 CALayer/动画?
我在我的应用程序的 UIView 中添加了一个 CALayer:
现在,当用户旋转设备时,图层始终保持在屏幕上的相同位置(与主屏幕按钮对齐)。是否可以旋转动画/图层?我试过
但这段代码只是旋转 UIView 而不是我设置的动画/图层。
iphone - 为什么我不能向 UIImageView 添加动画?
我试图向 UIImageView 添加动画,但它总是失败。为什么?这是代码:
iphone - iPhone CALayer 堆叠顺序
我正在使用 CALayers 绘制到 UITableViewCell。我试图弄清楚如何根据 UITableViewCell 的内容对图层进行排序。例如:
- 我在 cellForRow:atIndexPath 方法中向 UITableViewCell 添加标签
- 在 UITableViewCell 的 drawRect 方法中,我使用当前上下文绘制了一些内容
- 此外,在 drawRect 我添加了一些子层
那么这些元素的顺序是什么。我知道我在 CALayers 上有 zPosition,但我不确定它们是否总是在 UITableViewCell 的任何子视图之上。而且我不确定在 drawRect 中绘制的内容的顺序。任何帮助或文档链接都会很棒。我已经阅读了核心动画编程指南,但没有看到任何可以回答的地方。
iphone - iPhone:CALayer 内存泄漏问题
下面的代码会导致我的代码泄漏吗?更具体地说,我是否负责释放(这是一个对象)newImage
的内容或内容?我每 4 次调用该方法时都会收到内存警告,但不知道为什么......mainPageLayer
CALayer
我也无法弄清楚为什么mainPageLayer.contents = [newImage CGImage];
会发出警告,指出我传递的参数是不兼容的指针时间。图像在图层内显示得很好。