我一直在努力解决使用CorePlot框架时出现的一个奇怪问题,但我怀疑这不是框架本身的错误。我希望这里有人会看到类似的东西,并且能指出我的生产方向。
我有一个标签视图,其中显示了图表。最初处于活动状态的选项卡完全没有问题,但通常当我打开下一个选项卡时,我会看到以下内容:
请注意,在顶部图表上,缺少多个标签。如果我切换回原始标签,然后再次转到第二个标签,每次都很好。我已经放置了各种诊断日志记录语句并确定了:
因为渲染似乎正在向前发展,并且因为这个事情很好地“第二次”,所以我怀疑问题在于我是如何将它连接到视图或我的时间那里,而不是Core Plot本身(或者,例如,在剪辑中)。不过,我对如何调试这个问题缺乏想法,并希望听到任何有类似问题经验的人的说法。
谢谢!
答案 0 :(得分:0)
CALayer
可能无法在实际绘制CALayer
之前及时缓存内容。
如果您没有看到代码,我建议您在更改了该CALayer的内容后立即尝试为CALayer
调用缺少标签信息的{{1}}。
答案 1 :(得分:0)
六年后,我处理了同样的问题。创建图层时,在动画中需要时,屏幕上第一次可能尚未绘制它。第二次是围绕它。
简单的解决方法是在您将其添加到超级图层后立即尝试绘制的图层上调用.layoutIfNeeded()
。