问题标签 [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.

0 投票
2 回答
1585 浏览

iphone - 使用核心动画层制作 GIF 动画?

我正在尝试制作 GIF 动画,但遇到了障碍。我有一个示例,说明我正在尝试使用 GIF 的各个帧并设置 UIView 的 animationImages 属性。但是在我的项目中,我想要动画的东西是使用图层绘制的。我正在寻找一种快速简便的方法来为帧设置动画,而不会引入太多复杂性。是否有任何与图层等效的动画图像?有人有什么想法吗?

0 投票
8 回答
84495 浏览

iphone - CALayers 没有在其 UIView 的边界更改时调整大小。为什么?

我有一个添加了UIView大约 8 个不同CALayer子层的图层。如果我修改视图的边界(动画),那么视图本身会缩小(我用 a 检查了它backgroundColor),但子层的大小保持不变

如何解决这个问题?

0 投票
4 回答
6670 浏览

iphone - 如何平铺 CALayer 的内容?

我想在 CALayer 上平铺 CGImage,但它似乎只想拉伸它。

示例代码:

如果可以的话,我想避免子类化。

0 投票
1 回答
1084 浏览

iphone - 在 UITableViewCell 中使用 CALayer

在我的表格视图的每个单元格上,我希望有一个用户可以从右侧滑出的栏。在栏上我计划有图标。所以,为了做到这一点,我将 UITableViewCell 子类化了。在单元格上我已经实现了 drawRect 并且在那里我已经在单元格上绘制了渐变和背景颜色。从那里,我可以创建一个 CALayer,给它一个框架和背景颜色,并将它作为一个子层添加到 Views subLayers 数组中。我可以做到这一切,它会在每个 UITableViewCell 上显示我的图层。

我已经向单元格添加了触摸事件,因此我可以检测用户何时触摸单元格并进行测试,因此当用户滑动时,我的 CALayer 会变宽。但问题是,当 UITableView 滚动并重用 CALayer 已加宽的单元格时,它不会重新创建 CALayer。我试过了

并使用了它的委托的 drawLayer:inContext 方法,它没有被调用。我还尝试在 UITableViewController 的单元格上调用 setNeedsDisplay,希望这会导致重绘,但它不起作用。

我不确定我错过了什么。我是 CoreGraphics 和 CoreAnimation 的新手。我已经阅读了 CoreAnimation 开发人员指南,但我假设我遗漏了一些东西。任何帮助都会很棒。

0 投票
1 回答
1039 浏览

iphone - CALayer 和石英透明度

我有一个 CALayer 子类。我已经覆盖了 drawInContext 方法。我希望我的大部分图层都是透明的,除了少数区域。我将图层用作菜单,我希望菜单上的图标和标签不透明。

如果超级 CALayer 是透明的,是否可以让 CALayer 的子层不透明?

是否可以在透明 CALayer 的 drawInContext 方法中绘制不透明的项目?我曾尝试使用 CGContextSetAlpha,但我认为它不起作用,因为我正在绘制的 CALayer 是透明的。

与往常一样,任何帮助都会很棒。

0 投票
0 回答
681 浏览

iphone - 使用 CGLayers 创建自定义动画?

基本上,我想制作一个缩小的圆圈。我已经通过在 CGLayer 上绘制越来越小的圆圈来完成此操作,然后使用

if(index < 30){
[self performSelector:@selector(showNextLayer) withObject:nil afterDelay:(NSTimeInterval)0.02]; 索引++;
}

在我的 showNextLayer 方法中。这适用于我的简单目标,但总的来说,这是绘制自定义动画的一种或多或少明智的方式吗?

Apple 有很多关于动画的文档 - 足以让我感到困惑 - 但据我 - 最终 - 了解:

  1. UIView 提供的动画服务非常适合动画一些基本的视图属性,视图转换等,
  2. 那些由继承自 CAAnimation 的类提供的那些,适用于动画属性,如颜色变化、3d 转换等。
  3. UIViewImage 非常适合动画自定义位图图像(当您可以在 CGLayer 中绘制圆圈时,创建位图图像不是一个好主意)。

在我看来,显示一系列 CGLayer 的内容也将得到支持,我错过了什么吗?

提前感谢您的任何澄清..

0 投票
1 回答
4164 浏览

iphone - 如何转换(旋转)已经存在的 CALayer/动画?

我在我的应用程序的 UIView 中添加了一个 CALayer:

现在,当用户旋转设备时,图层始终保持在屏幕上的相同位置(与主屏幕按钮对齐)。是否可以旋转动画/图层?我试过

但这段代码只是旋转 UIView 而不是我设置的动画/图层。

0 投票
1 回答
848 浏览

iphone - 为什么我不能向 UIImageView 添加动画?

我试图向 UIImageView 添加动画,但它总是失败。为什么?这是代码:

0 投票
2 回答
4962 浏览

iphone - iPhone CALayer 堆叠顺序

我正在使用 CALayers 绘制到 UITableViewCell。我试图弄清楚如何根据 UITableViewCell 的内容对图层进行排序。例如:

  1. 我在 cellForRow:atIndexPath 方法中向 UITableViewCell 添加标签
  2. 在 UITableViewCell 的 drawRect 方法中,我使用当前上下文绘制了一些内容
  3. 此外,在 drawRect 我添加了一些子层

那么这些元素的顺序是什么。我知道我在 CALayers 上有 zPosition,但我不确定它们是否总是在 UITableViewCell 的任何子视图之上。而且我不确定在 drawRect 中绘制的内容的顺序。任何帮助或文档链接都会很棒。我已经阅读了核心动画编程指南,但没有看到任何可以回答的地方。

0 投票
1 回答
1548 浏览

iphone - iPhone:CALayer 内存泄漏问题

下面的代码会导致我的代码泄漏吗?更具体地说,我是否负责释放(这是一个对象)newImage的内容或内容?我每 4 次调用该方法时都会收到内存警告,但不知道为什么......mainPageLayerCALayer

我也无法弄清楚为什么mainPageLayer.contents = [newImage CGImage];会发出警告,指出我传递的参数是不兼容的指针时间。图像在图层内显示得很好。