UIIMageView正在加载错误的图像

时间:2015-04-27 17:37:21

标签: ios iphone xcode assets

我将此iPhone应用程序定位到iOS 7。

我在.xcassets上创建了一个名为mainImage的条目,该条目是针对iPhone的设备。所以xcode给我提供了4个插槽,我必须填充图像。包含以下图片:1x2xRetina 4 2x3x

我按顺序为每个插槽填充了以下图像:

  1. 1x = 320 x 480像素图片
  2. 2x = 750 x 1334像素图片
  3. Retina 4 2x = 640 x 960像素图片
  4. 3x = 1242 x 2208像素图片
  5. 然后我在故事板上有一个viewController,它是用iPhone 6大小调整的,而imageView调整为只加载“mainImage”。

    显示的图像是iPhone 4 2x拉伸的,而不是正确的图像。它应该显示750x1334图像。

    如果使用“mainImage”调整imageView,是不是应该为viewController大小加载正确的图像?

    我在iPhone 6上运行它,确实显示的图像是拉伸的iPhone 4图像。

    无论如何要解决这个问题?

3 个答案:

答案 0 :(得分:1)

它不起作用。您可以为不同的屏幕密度分别设置图像,而不是针对不同的屏幕尺寸。您必须为每个屏幕大小添加单独的条目,并自己选择图像。启动图像是唯一可以自动使用不同屏幕尺寸的资产。

How to specify size for iPhone 6/7 customised edge-to-edge image?

答案 1 :(得分:0)

答案 2 :(得分:0)

事实上,xcassets还有一个限制/错误,超出了将其本地化为不同语言的不可能性,即能够加载不同的图像或更好地正确到iPhone 6.苹果没有意识到xcassets的方式如果您关心使用全屏图像,现在工作将无法加载正确的图像。

解决方法是不使用xcassets,创建所需的图像,以及根据屏幕尺寸/需要调用正确图像的类。