我正在尝试支持我的通用monotouch应用程序中的所有可用屏幕。
在我的某个屏幕中,我有一个全屏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使用了正确的命名?我在资源中复制了来自splash image后缀的后缀。它们对其他图像也一样吗?
答案 0 :(得分:0)
FromFile()
maps to UIImage的+imageWithContentsOfFile:
方法,它不支持UIKit的图像命名后缀模式。您应该可以使用FromBundle()
代替“.png”后缀,以便自动选择正确的资源。