如何在 VC.m 尝试加载之前保存使用 drawRect 绘制的图像?
Posted
技术标签:
【中文标题】如何在 VC.m 尝试加载之前保存使用 drawRect 绘制的图像?【英文标题】:How to save images drawn with drawRect BEFORE VC.m tries to load them? 【发布时间】:2014-01-06 09:53:43 【问题描述】:感谢本网站为回答许多问题提供的所有帮助!
我在 UIView 的子类中覆盖了 drawRect,绘制了一堆图像并将它们保存为 PNG。
接下来我尝试加载图像以在 ViewController.m 中使用
终于让动画工作了,但有一段时间 VC 会在 Draw2D 保存图像之前尝试加载图像。发现 NSLog 可以很好地查看事件序列:
if ([self loadNamedImage:nameToLoad])
[image2set addObject:[self loadNamedImage:nameToLoad]];
NSLog(@"Loaded %@", nameToLoad8);
loadNamedImage 是返回加载图像的方法。添加 if/exist 似乎可以解决一段时间的问题,但我想正确使用类似
performSelectorOnMainThread:withObject:waitUntilDone:;
// where to place command, which object, etc?
尝试在 VC 中使用 sleep 语句,希望在尝试加载图像之前使用睡眠时间来保存图像。如何调整程序启动顺序以使其正常工作?
分贝
【问题讨论】:
【参考方案1】:发现使用 viewDidAppear 与 viewDidLoad 解决了我一段时间的问题。
最近开始使用手势并按照建议重置模拟器设置以修复查找所需文件。现在图像不会再次加载,因为 viewDidAppear 尝试在覆盖的 DrawRect 方法绘制它们之前加载图片。尝试了不同的还原点,清理项目,并从模拟器中卸载应用程序无济于事:o(
非常感谢您在何处以及如何实施 addDependency、GCD 或其他解决方案的示例!
【讨论】:
以上是关于如何在 VC.m 尝试加载之前保存使用 drawRect 绘制的图像?的主要内容,如果未能解决你的问题,请参考以下文章
jQuery:如何在第三方脚本加载不同版本的 jQuery 之前保存我的 jQuery 版本?
加载 .RData 对象时出现问题:“文件‘pathway.path.RData’有幻数‘’不推荐使用 2 之前的保存版本”