【问题标题】:UITabBarItem Image SizeUITabBarItem 图像大小
【发布时间】:2013-09-10 16:38:37
【问题描述】:

我正在为我的 UITabBar 制作图像。我正在制作尺寸为 60x60 的它们,因为这是视网膜屏幕使用的。但是,当我使用该尺寸时,它在栏中显示太大,因此您只能看到图像的一部分。当我将其缩小到 30x30 时,它可以工作,但该尺寸应该适用于非视网膜显示器。为什么我使用 60x60 时无法正常显示?

【问题讨论】:

  • 确保您的 60x60 视网膜图像在文件名中以 @2x 后缀命名。
  • 谢谢,成功了!!
  • iOS7 Tabbar icons too big的可能重复

标签: ios uitabbar uitabbaritem


【解决方案1】:

您可能需要将您的视网膜图像重命名为imagename@2x.png

【讨论】:

    【解决方案2】:

    当 iOS 正在寻找标准分辨率图像时,您提供了高分辨率图像。

    iOS 会根据访问设备的分辨率自动为您选择合适的图像尺寸。因此,您将负责为非视网膜设备提供“标准分辨率”图像,为视网膜显示器提供“高分辨率”图像。在 iOS 中执行此操作的方法是将“@2x”附加到文件名的末尾,但在文件扩展名之前,如下所示:

    my-image.png     // for non-retina displays (Ex: 30x30 dpi)
    my-image@2x.png  // for retina displays (Ex: 60x60 dpi)
    my-image@3x.png  // for retina displays(plus editions) (Ex: 90x90 dpi)
    

    然后,当您在 XCode 项目中引用文件时,您只需提供标准分辨率的文件名(例如,“my-image.png”)并且如果访问设备具有视网膜显示器,那么 XCode 会自动为你选择带有“@2x”后缀的文件。 这非常方便,因为它让我们开发者不必检测设备是否有视网膜显示器,以及我们需要哪个图像供应。

    这是一个代码示例:

    // Select an image named "my-image.png"
    UIImage *img = [UIImage imageNamed:@"my-image.png"];
    
    // If the device this code is run on is a retina device,
    // then Xcode will automatically search for "my-image@2x.png" and "my-image@3x.png"
    // otherwise, it will use "my-image.png"
    

    您可以通过 Apple 开发者网站阅读有关该主题的更多信息:Optimizing for High Resolution

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-03
      • 2014-12-04
      • 2013-04-23
      相关资源
      最近更新 更多