我已经实现了一个带有自定义标签栏的 iPhone 应用程序。用于选定/未选定选项卡的图像通过 UIImage imageNamed 加载。通常它工作得很好,但有时,看起来像是随机的,其中一张图像在加载时消失并替换为黑色空白空间。再次单击它时,图像会重新出现。
一些症状: - 只能在 4.3 的 iPhone 4 上重现。在 4.2 上从未发生过(我在 4.3 上进行过测试)。- 无法在 4.3 的 3GS(较低分辨率)上进行测试。在 4.2 上它与上面相同,它从未发生过。
我设法从它发生的一次打印出来,它给了我这里和标题中指定的错误:
ImageIO: CGImageRead_mapData 'open' failed '/var/mobile/Applications/7A76BCE5-' error = 2 (没有这样的文件或目录)
所有选项卡图像都是这样启动的:
UIImageView *tab1ImageViewTemp = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, width, height)];
[tab1ImageViewTemp setImage:[UIImage imageNamed:@"bt_tab1"]];//imagem tab1
[self setTab1ImageView:tab1ImageViewTemp];
[self addSubview:tab1ImageView];
[tab1ImageViewTemp release];
and when selected/unselected changed like so:
[tab1ImageView setImage:[UIImage imageNamed:@"bt_tab1_over"]]; //when selected
[tab1ImageView setImage:[UIImage imageNamed:@"bt_tab1"]]; //when unselect
并且 UIImageView 在 dealloc 中正常释放。
有人知道这个错误的线索......?