ios - Objective-C - 给定一个图层,如何检查它是否完成绘制?

标签 ios objective-c layer

我正在尝试检查图层是否已完成绘制,并且它已准备好接收点击。

我尝试在图层上调用各种命令(needsDisplayneedsLayout 等),但它们都返回相同的值,与绘图状态无关。

最佳答案

  1. 默认动画:

    访问层中对象的 presentationLayer 属性。当动画正在进行时,您可以检索此对象并使用它来获取这些动画的当前值。

    https://developer.apple.com/library/ios/documentation/GraphicsImaging/Reference/CALayer_class/index.html#//apple_ref/occ/instm/CALayer/presentationLayer

  2. 自定义动画:

    使用 setCompletionBlock: 方法向当前事务添加一个完成 block 。当事务中的所有动画都完成时,事务将执行您的完成 block 。

    将委托(delegate)分配给您的 CAAnimation 对象并实现 animationDidStart: 和 animationDidStop:finished: 委托(delegate)方法。

    https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/CoreAnimation_guide/CreatingBasicAnimations/CreatingBasicAnimations.html#//apple_ref/doc/uid/TP40004514-CH3-SW1

关于ios - Objective-C - 给定一个图层,如何检查它是否完成绘制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26524662/

相关文章:

ios - 核心数据设计

iphone - iPhone向后播放caf音频

ios - 尝试使用 AV Foundation 捕获静止图像时不断出现 "inactive/invalid connection passed"错误

ios - 通过委托(delegate)选择 TableView 行是选择多行而不是一行

java - 如何从 WorldWind 的图层面板中隐藏(或删除)预配置的图层

ios - 在 UIView 上绘制的 mask 层的圆角半径

javascript - Photoshop 脚本 : iterating list of all layers withing the layerset is very slow

ios - 如何在 React 原生应用中使用原生 View

objective-c - 隐藏公共(public)访问的属性

ios - 支持 Swift 4.2 的 Cucumberish 的任何替代品?