iPad键盘渲染 - 缺少字母/键

时间:2012-07-24 16:14:52

标签: ios ipad

我已经在应用程序上工作了好几个月,并且在过去一两周内出现了一个奇怪的错误。在长时间使用应用程序(20-30分钟)后,我们的许多自定义标签(基于UILabel)停止正确渲染(有些将只显示为空白)。有趣的是,在这种情况下调出键盘显示如下:

enter image description here

我在过去几周内对代码库的各个部分进行了一些调整但没有用,我希望此处有人可能偶然遇到类似的问题和/或可能有一些想法在哪里寻找解决方案。

我们在自定义标签中使用了大量的CoreGraphics调用来呈现一些非常复杂的带注释字符串,并且在另一个线程的后台有相当多的流量来回到服务器。关于内存,我们正在使用ARC,而我们在任何时候都在内存中保留大约5-10Mb的原始数据 - 我无法想象其他任何东西都在扼杀大量内存。

非常感谢任何关于在哪里观看的建议。

2 个答案:

答案 0 :(得分:2)

嗯,不是这个确切的问题,但在窗口中可见类似的奇怪东西。它被追踪到从主线程以外的消息传递UIKit。我们最终添加了许多“断言([NSThread isMainThread]);”在我们认为可能在屏幕上绘制的地方,果然,我们找到了有罪的一方。

答案 1 :(得分:2)

关于在不同的线程上进行UI调用的问题,我想我可能会添加这段代码来演示不同的线程如何进行UI调用。

dispatch_sync(dispatch_get_main_queue(), ^{
    // Put your UI code here
});

这将确保您的代码在运行循环处理期间在主线程上运行。