0

我正在尝试在我的通用单点触控应用程序中支持所有可用的屏幕。

在我的一个屏幕中,我有一个全屏UIImage来显示全屏图像。图像名称是 bg.png。我的屏幕只支持纵向,我通过以下命名和大小添加了一些图像版本:

bg.png----->320x480

bg@2x.png------>640x960

bg-568h@2x.png----->640x1136

bg-Portrait.png----->768 × 1004

bg-Portrait@2x.png----->1536 × 2008

我还使用下面的代码将其分配给视图的背景:

sImage .Image = UIImage .FromFile ("ProjectRes/Images/bg.png");

虽然我将图像添加到所有版本,但我不知道为什么图像在 ipda 视网膜或 ipad 甚至 iphone 5 上都没有合适的质量。我的代码错了吗?

编辑

我将代码更改为:

splashImage .Frame = new RectangleF (0,0,this.View .Bounds .Width ,this.View .Bounds .Height );
splashImage .Image = UIImage .FromBundle  ("ProjectRes/Images/bg");

但它还没有工作。如果他们有帮助,我在一个方法中添加了这些代码,我在屏幕的ViewWillAppear方法上调用它。它ViewWillAppear是一个好地方吗?

我为 ipad 和 iphone 5 使用了正确的命名吗?我从资源中的启动图像后缀复制了后缀。其他图像也一样吗?

4

1 回答 1

0

FromFile() 映射到UIImage 的+imageWithContentsOfFile:方法,该方法不支持 UIKit 的图像命名后缀模式。您应该可以FromBundle()改用“.png”后缀来自动选择正确的资源。

于 2013-10-16T19:51:42.007 回答