gpt4 book ai didi

cocoa - 第一次绘制时 CALayers 未显示

转载 作者:行者123 更新时间:2023-12-03 16:15:57 26 4
gpt4 key购买 nike

我一直在努力解决使用 CorePlot 框架时出现的一个奇怪问题,但我怀疑这不是框架本身的错误。我希望这里有人会看到类似的东西,并能为我指出一个富有成效的方向。

我有一个显示图表的选项卡式 View 。最初处于事件状态的选项卡完全没有问题,但通常当我打开下一个选项卡时,我会看到以下内容:

http://imgur.com/J0VDs.png

请注意,在顶部图表中,缺少几个标签。如果我切换回原来的选项卡,然后再次切换到第二个选项卡,每次都一切顺利。我已经放置了各种诊断日志记录语句并确定:

  1. View 在创建图表之前就已唤醒;和
  2. 正在调用每个标签的drawInContext:方法,包括那些缺失的标签。事实上,轴标签是最后渲染的内容之一,因此我希望它们能够显示是否有任何内容,并且一些丢失的标签是在存在的标签之后(和之前)渲染的。

因为渲染似乎正在按预期进行,并且因为这个东西“第二次”绘制得很好,所以我怀疑问题在于我如何将其连接到 View ,或者在于我的时间安排在那里,而不是在核心图本身中(或者,例如,在剪辑中)。不过,我对如何调试这个问题一无所知,并且很想听听任何有类似问题经验的人的意见。

谢谢!

最佳答案

六年后,我遇到了同样的问题。创建图层时,第一次在动画需要时可能尚未在屏幕上绘制该图层。第二次是这样。

简单的修复方法是将您尝试绘制的图层添加到其 super 图层后立即调用.layoutIfNeeded()

关于cocoa - 第一次绘制时 CALayers 未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3445349/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com