问题标签 [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 - 高跟鞋!调试器说“超出范围”!
我只是无法想象问题到底是什么。我做了一个漂亮的应用程序,并决定只使用 CALayers 来“渲染”。
当我看到位置属性的变化被动画化时,决定实现一个名为 tanCenter 的自定义 getter-setter“抽象”属性来设置位置而不设置动画。
由于我将其合并到项目中,因此它崩溃而没有任何“可理解的”(对我而言)错误消息。我只能看到那些“超出范围”-s。我什至无法在不崩溃的情况下获得这个 tanCenter 属性 NSLog-ged。
帮帮我,欧比旺·克诺比;你是我唯一的希望。
ios - 如何将 Sprite 扭曲为梯形?
我正在尝试将 Sprite 转换为梯形,我并不真正关心插值,即使我知道没有它我的图像会丢失细节。我真正想做的就是将我的矩形 Sprite 变成这样的梯形:
有没有人用 CGAffineTransforms 或 cocos2d 做过这个?
cocoa - 为什么必须使用 CALayer 的presentationLayer 进行命中测试?
我正在开发一个 Cocoa Touch 应用程序,并试图通过确定视图层的哪个子层被触摸来处理触摸。我的控制器代码如下所示:
这行不通。如果我在子层的底部点击它会起作用,但不是在顶部。经过一个小时的拉扯和谷歌搜索,我终于发现如果使用表示层而不是层本身进行命中测试,它会起作用:
所以,我已经解决了我的问题,但我的问题是:为什么?
我已通读 Core Animation 指南,并且了解表示树和渲染树可能与对象模型树不同。但我不明白为什么表示树(显然)会有不同的命中测试行为。表示树和对象模型不会有相同的框架、边界等吗?
iphone - CALayer 使用的简单示例——可能在 UITextField 中
我需要为包含多个 UITextField 的 Cocoa Touch 数据输入屏幕实现自定义键盘。我已经构建了键盘,一切正常,除了现在我需要弄清楚如何实现闪烁光标。(当您禁用 UITextField 的内置键盘时,您也会丢失光标)。在谷歌搜索中,我看到一些提到使用 CALayer 动画来做到这一点。但是,我还没有找到一个简单的例子来说明如何实现它。由于 UITextField 继承自 UIView,我希望可以使用文本字段视图作为宿主层。眨眼的动画部分并不是让我担心的,它只是正确设置而已。任何建议或指向包含简单教程的其他站点的指针?(我发现的一切都面向多层次和游戏,
iphone - 在 -[CALayer setNeedsDisplayInRect:] 中禁用隐式动画
我在它的 -drawInContext: 方法中有一个包含一些复杂绘图代码的层。我试图最小化我需要做的绘图量,所以我使用 -setNeedsDisplayInRect: 来更新更改的部分。这工作非常出色。但是,当图形系统更新我的图层时,它会使用交叉淡入淡出从旧图像过渡到新图像。我希望它立即切换。
我尝试使用 CATransaction 关闭操作并将持续时间设置为零,但都不起作用。这是我正在使用的代码:
我应该使用 CATransaction 上的不同方法吗(我也尝试了 -setValue:forKey: 与 kCATransactionDisableActions,结果相同)。
iphone - 使用 CALayers 的圆形 UIView - 只有一些角落 - 如何?
在我的应用程序中 - 有四个按钮命名如下:
- 左上方
- 左下方
- 右上
- 右下
在按钮上方有一个图像视图(或 UIView)。
现在,假设用户点击左上角的按钮。上方的图像/视图应在该特定角处四舍五入。
我在将圆角应用于 UIView 时遇到了一些困难。
现在我正在使用以下代码将圆角应用于每个视图:
上面的代码将圆度应用于提供的视图的每个角。相反,我只想对选定的角应用圆度,例如 - 顶部 / 顶部 + 左侧 / 底部 + 右侧等。
可能吗?如何?
iphone - 屏蔽 CALayer - iPhone
我正在为 iPhone 创建一个自定义开/关切换开关(类似于标准开关),我正处于设置滑块蒙版的[[myView layer] setMask:maskLayer]
位置,但调用设置蒙版层的相对位置它被遮罩的层,而不是相对于遮罩层的容器层。对于这个特定的场景,遮罩层的位置需要相对于它的包含层进行设置,因为切换滑块将在遮罩下方移动并且遮罩应该保持静止。
无需对蒙版和切换滑块组件进行动画处理即可达到所需的效果,有人知道如何进行这项工作吗?这是我到目前为止所得到的:
iphone - UIScrollView 和 CALayers
我有一个完全由 CALayers 组成的自定义 UIView。
在 awakeFromNib 方法中,它创建所有 CALayer 并将其设置到适当的位置(CAGradientLayer、几个 CATextLayer 和一些自定义 CALayer 子类)。自定义 UIView 不会覆盖 drawRect: 方法,因为没有直接在视图中进行绘图(所有绘图都在子层中完成)。
所以我把这个视图嵌入到 UIScrollView 中。问题?没有滚动条出现,视图也不会滚动。该视图明显大于滚动视图的边界,而不是允许我滚动,它只是在滚动视图边界处截断。
这里有什么问题?
iphone - 在为其超级视图设置动画时更改 UILabel 的文本
是否可以更改 UILabel 的文本,而它的超级视图正在由 UIView 动画进行动画处理?
假设我有 labelView 作为 containerView 的子视图。timerFired 在 containerView 动画期间被调用(从不在之前或之后)。我在动画期间调用 labelView 的 setText,但它的文本没有改变。有什么办法可以实现我所追求的吗?
编辑:我的错 - 这有效。问题在于我的文本更新程序(投射问题)。
objective-c - 如何替换出现的 CALayer 的自定义动画
我有一个 CALayer,我想更改它出现在屏幕上的自定义动画。我创建了一个委托,以便我可以捕获该方法:
我检查了密钥是否等于 kCAOnOrderIn,但是,尚未告知该层它的边界是什么(它当前报告边界的 (0, 0, 0, 0))。所以然后我尝试检查键是否等于“边界”,但我仍然得到报告相同的矩形(0、0、0、0)。
我想要做的动画不是图层通过不透明度逐渐“淡出”到屏幕上,而是希望它从小到中间生长到屏幕上,直到它的完整边界。但要做到这一点,我需要知道它的完整界限是什么。无论如何都知道这样我可以替换自定义动画,还是我只是以错误的方式接近这个?
谢谢