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

iphone - 未应用 CAAnimation 持续时间

我正在应用 aCAAnimation在屏幕上和屏幕外移动工具栏。

当我触摸超级视图时,会触发以下方法:

这又会触发子视图的委托方法:

常量kViewerToggleToolbarAnimation和在别处定义为kViewerToolbarHideAnimationDurationkViewerToolbarShowAnimationDuration

问题是我可以在常量文件中增加这些持续时间值,但是委托方法会忽略这些持续时间并应用它自己明显很短的持续时间(大约 0.5 秒)。

2.5 和 2.75 秒是相当长的时间,否则动画会运行,如果它工作正常的话。

我在触发动画时做错了什么,导致这些持续时间常量被忽略?否则它编译并运行良好,因此它不会抱怨无法找到常量。

0 投票
2 回答
1016 浏览

iphone - 在 iPhone 应用程序中预加载图像?

我有一系列需要在短时间内显示的图像(PNG 序列)。总共有 31 个 PNG,每个文件大小约为 45KB。我已经用以下代码加载了它们:

我使用以下代码显示图像:

其中 imgLayer 是一个CALayer. (imgTimer是一个间隔为0.03s的重复定时器)

但是我发现当我第一次调用图像时,它非常滞后。除了第一个外观,其他外观都没有问题。

它与预加载图像有关吗?还是我的图像文件太大?

0 投票
0 回答
3264 浏览

iphone - iPhone:在视图中调整 CALayer 子层的大小

我已经设置了一个 UIView 并添加了几个 CALayers 作为视图层的子层。甚至可以与视图一起调整子层的大小吗?当我通过设置新框架来调整图层大小时,只有视图的图层会获得新的大小,而子图层不会。我将图层的 setNeedsDisplayOnBoundsChange 设置为 true,并将 contentsGravity 设置为 kCAGravityResizeAspect,但到目前为止没有任何帮助。我错过了一些非常明显的东西吗?

谢谢和亲切的问候,汉斯

0 投票
1 回答
1908 浏览

iphone - UIImageView 的 CALayer 的锚点“访问属性的未知组件”错误

我正在尝试围绕右下角旋转图像。为此,我知道我需要设置图层的锚点,但我无法访问它。我已经在我的项目中包含了 QuartzCore 框架。为了尽可能简化问题,我将方法简化为这三行,但仍然会抛出错误“错误:访问属性的未知 'anchorPoint' 组件”(第 2 行)。

这一定是真正愚蠢的事情。我已经查看了其他示例,它们看起来相同。我错过了什么?

0 投票
8 回答
18785 浏览

iphone - 使用 CALayer 委托

我有一个 UIView 其图层将有子图层。我想为每个子层分配委托,因此委托方法可以告诉层要绘制什么。我的问题是:

作为 CALayer 的代表,我应该提供什么?文档说不要使用图层所在的 UIView,因为这是为视图的主 CALayer 保留的。但是,创建另一个类只是为了成为我创建的 CALayer 的代表,这违背了不继承 CALayer 的目的。人们通常使用什么作为 CALayer 的代表?还是我应该只是子类?

另外,为什么实现委托方法的类不必符合某种 CALayer 协议?这是一个更广泛的总体问题,我不太明白。我认为所有需要实现委托方法的类都需要实现者遵守的协议规范。

0 投票
3 回答
1334 浏览

cocoa - 如何在 CALayer 上绘制具有原生外观的状态项背景

实际上我想在我的自定义 statusItemViewNSStatusItem上绘制一个选定的背景。CALayer但由于

- (void)drawStatusBarBackgroundInRect:(NSRect)rect withHighlight:(BOOL)highlight

在图层上不起作用(?)我尝试使用 backgroundColor 属性绘制颜色。但是将 selectedMenuItemColor 转换为 RGB 并没有多大帮助。没有渐变,它看起来很简单。:-/

我用这段代码转换[NSColor selectedMenuItemColor]成一个:CGColorRef

知道如何在 CALayer 上绘制具有原生外观的状态项背景吗?

0 投票
2 回答
1273 浏览

iphone - CAShapeLayer 减缓界面旋转

我正在尝试将一些自定义绘图代码从视图移动到 aCAShapeLayer中,然后将其作为子层添加到原始视图的CALayer. 这也很有效,但是当旋转设备时,动画开始出现断断续续的情况,例如,您只看到原始方向的帧,然后是最终方向,中间最多有一帧 - 一点也不流畅。相应的滑入和滑出动画UIViewController也有点生涩(但不是那么多)。

它中的所有CAShapeLayer具有path是一CGPathAddRect,它被设置为opaque,它的opacity1.0f并且fillColor被设置为不透明的蓝色。

然而,当直接在视图drawRect方法中绘制路径时,动画平滑的。所以我想这与CAShapeLayer旋转期间的动画有关。

你能告诉我如何摆脱那些急躁或只是CAShapeLayer在动画时隐藏?回到CGPath直接 draw s 对我来说不是一个选择,因为我依赖于CAShapeLayer为其路径设置动画的能力(在我尝试旋转视图时它没有动画)。

/update:当旋转UIViewController的视图包含一个具有子类的视图CAGradientLayer时也会发生这种情况layerClass(例如,具有渐变层作为背景的视图)。

干杯

法师先生

0 投票
0 回答
250 浏览

cocoa - 快速用户切换隐藏 CALayer

我有一个 GUI 可可应用程序,它会在计算机从睡眠中唤醒时自动启动。该应用程序同时在多个用户帐户中运行,并且有时在不是屏幕上显示的当前用户(即活动控制台用户)的用户帐户中启动。这就是问题出现的地方。

我有一个自定义视图,用于CALayer显示几个不同图像的组合。NSView 的 CALayer 包含两个子层,其中一个子层也包含两个子层。当用户在活动用户的帐户中启动应用程序时,没有问题。当应用程序由非活动用户帐户中的自动脚本启动时,自定义 NSView 不会绘制任何 CALayers。我在应用程序没有绘制 CALayer 时将 F-Script 注入到应用程序中,并注意到自定义 NSViewlayer不包含任何sublayers!请注意,图层设置代码包含在-awakeFromNib自定义 NSView 中。-awakeFromNib当自定义 NSView 未绘制并解决问题时,我尝试手动调用(尽管它确实设置sublayers正确)。

我在网上搜索了一下,发现了这么一条信息:

在 OS X v.10.4 及更高版本中,如果用户使用快速用户切换,显示链接线程会自动停止。切换回原用户时,显示链接会重新启动。

我知道我的问题与用户没有对活动屏幕的引用有关(“好的”CGContext 引用?)但我没有收到任何错误消息并且没有 Quartz / Core Animation 经验来指向我在正确的方向。

提前感谢您的帮助!

0 投票
0 回答
966 浏览

cocoa - NSViewController。核心动画子层不绘制

我创建 NSViewController。它管理我的视图层次结构并在一个 NSBox 中设置其他视图。

我有两种不同的观点。这些视图具有 Quartz Composer 根层和 CALayer 子层。

我运行我的应用程序,我可以替换视图,但我只查看 QCCompositionLayer。当我直接使用我的自定义 NSView 类时,没有 NSView 层次结构,我可以查看所有内容。错误在哪里?

原谅我的英语不好,谢谢

0 投票
1 回答
687 浏览

iphone - 需要帮助来制作我的 iPhone 动画吗?

我是 iPhone 动画功能的新手。我写了一个简单的测试程序来旋转一个红色矩形;但是,动画根本没有作用。我的代码有什么问题?非常感谢...