【发布时间】:2017-07-29 11:37:12
【问题描述】:
在高级 CALayer 问题上需要一些帮助。
我有一个添加 CAShapeLayer 的 UIView。图层已暂停(速度 = 0),并且附加了一个我想手动控制的动画。
与此处非常相似:Tweening / Interpolating between two CGPaths / UIBeziers - 除了我的视图是集合视图单元格。
一切都按预期工作,除了我不想从 0 位置开始。每个单元格可能从动画中的不同位置开始。
当集合视图询问我的视图时,我正在尝试将 layer.timeOffset 配置为 0.5 而不是 0。这不起作用,我尝试了我能找到的每个视图和图层以及委托回调.
我发现的唯一解决方法是:
dequeueReusableCellWithIdentifier 没有设置cellView.subLayer.timeOffset = 0.5;,而是将更新发送到稍后:
dispatch_after(main_queue, a bit later, ^{
cellView.subLayer.timeOffset = 0.5
});
所以我的问题是,对于图层/动画来说,viewDidLoad 的等价物是什么。在图层上调用 timeOffset 何时真正起作用?
有人遇到过这个问题吗?
【问题讨论】:
-
请正确格式化。
标签: ios calayer caanimation