我在标签栏中使用的图像是动态的,我从互联网上加载它们。我检测我是否在视网膜显示器上并下载正确的图像并使用它们初始化标签栏。
普通图像工作正常。我的问题是视网膜图像。它们以大尺寸显示,比标签栏大,因此没有完全显示。
我想知道如何将视网膜图像加载到标签栏并使其看起来正常。
更新:
这是我用来从添加的每个 View Controller 将图像加载到标签栏的代码:
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 并不重要,因为我手动选择正常或视网膜图像。
Best Answer-推荐答案 strong>
我自己没有遇到过这个问题,但我会在您创建图像后立即设置断点。使用调试器检查新图像的 scale 属性。我想您会发现 scale 设置为 1.0,但您的高分辨率图像应该将 scale 设置为 2.0。有三种方法(据我所知)可以做到这一点:
- 使用“@2x”后缀命名文件;
- 适本地为您的图像设置“dpi”属性;
- 使用
-initWithCGImage:scalerientation: 或 +imageWithCGImage:scalerientation: 创建图像
关于iphone - 将视网膜图像动态加载到标签栏,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/8401451/
|