iphone - 将视网膜图像动态加载到标签栏

标签 iphone ios uitabbar

我在标签栏中使用的图像是动态的,我从互联网上加载它们。我检测我是否在视网膜显示器上并下载正确的图像并使用它们初始化标签栏。

正常图像工作正常。我的问题是视网膜图像。它们以大尺寸显示,比标签栏大,所以它们没有完全显示。

我想知道如何将视网膜图像加载到标签栏中并使它们看起来正常。

更新:

这是我用来从添加的每个 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 并不重要,因为我手动选择正常或视网膜图像。

最佳答案

我自己没有遇到过这个问题,但我会在您创建图像后立即设置一个断点。使用调试器检查新图像的 scale 属性。我认为您会发现 scale 设置为 1.0,但您的高分辨率图像应该将 scale 设置为 2.0。有三种方法(据我所知)可以做到这一点:

  • 以“@2x”后缀命名文件;
  • 适本地设置图像的“dpi”属性;
  • 使用 -initWithCGImage:scale:orientation:+imageWithCGImage:scale:orientation: 创建图像

关于iphone - 将视网膜图像动态加载到标签栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8401451/

相关文章:

ios - 分配parentGroup时CNContactViewController为空

swift - 如何在谷歌地图顶部添加标签栏?

swift - UITabBarController: UITabBarItem 更新它或重新加载它

java - 在纯商业相关的应用程序中为基于 iPad 或 Android 的平板电脑开发更好的产品

iphone - 在 ios5 中设置色调颜色效果很好,但在 ios4 中会崩溃

ios - 防止 Xcode 重建更改配置

ios - 更改标签栏背景透明度

iphone - CGRectMake 不适用于 UIView

ios - 一半屏幕无法点击

ios - 如何使用 FFMpeg for ios 创建 RTMP/RTSP 播放器