我对 iPhone 开发相对较新,但我已经做了 20 年以上的 Windows 程序员。
我最近被要求开发一个应用程序,它可以读取外部传感器数据,创建内存热图图像,然后将图像渲染到屏幕上。
Xcode v4.6.2 - iOS 6.1 模拟器/iPhone 5。
(经过一番努力)我成功了。在模拟器上,传感器被读取,图像文件被构建并从我的库中作为 CGImageRef 返回。然后,我使用以下代码将其加载到我的视图控制器中的 UIImageView 对象中。像这样:
// Line edited to remove transcription error
CGImageRef cgimg = [sensor getSensorImage : 200 : 200];
UIImage* image = [UIImage imageWithCGImage : cgimg];
imageView.image = image;
这在 6.1 模拟器中工作得很好,热图看起来正确并呈现到屏幕上。当我连接 iPhone 5 并在其上运行时,没有渲染任何内容。UIImageView 保持灰色。我找不到任何错误,也没有抛出异常。图像对象不为空,所有代码行都执行成功。
调用setNeedsDisplay似乎也没有帮助。
这几天我一直在挠头。
有没有可能:
(a) 硬件配置文件不完整?或 (b) 当我在硬件上运行时,视图中的 UIImageView 以某种方式与代码引用断开连接?