我在标签栏中使用的图片是动态的,我将它们从互联网上加载。我检测到我是否在视网膜上显示,并下载正确的图像并使用它们初始化标签栏。
正常图像正常工作。我的问题是视网膜图像。它们以大尺寸显示,大于标签栏,因此它们没有完全显示。
我想知道如何将视网膜图像加载到标签栏中并使它们看起来正常。
更新
以下是我用于将图像从每个视图控制器加载到标签栏的代码:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString* path = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithString:@"1.png"]];
UIImage* image = [UIImage imageWithContentsOfFile:path];
图像是否有@ 2x并不重要,因为我手动选择普通或视网膜图像。
答案 0 :(得分:2)
我自己没有遇到过这个问题,但我首先要在创建图像后设置一个断点。使用调试器检查新映像的scale
属性。我想您会发现scale
设置为1.0,但您的高分辨率图片应将scale
设置为2.0。有三种方法(我知道)可以实现这一目标:
-initWithCGImage:scale:orientation:
或+imageWithCGImage:scale:orientation: