Ios 图像不工作时的iPad后缀
我正在用xcode 5开发一个通用应用程序,我正在尝试为这两个应用程序设置背景图像。我使用的代码位于Ios 图像不工作时的iPad后缀,ios,iphone,objective-c,ipad,Ios,Iphone,Objective C,Ipad,我正在用xcode 5开发一个通用应用程序,我正在尝试为这两个应用程序设置背景图像。我使用的代码位于viewDidLoad方法中: UIImage *backgroundImage = [UIImage imageNamed:@"city5.jpg"]; UIImageView *backgroundImageView=[[UIImageView alloc]initWithFrame:self.view.frame]; backgroundImageView.image
viewDidLoad
方法中:
UIImage *backgroundImage = [UIImage imageNamed:@"city5.jpg"];
UIImageView *backgroundImageView=[[UIImageView alloc]initWithFrame:self.view.frame];
backgroundImageView.image=backgroundImage;
[self.view insertSubview:backgroundImageView atIndex:0];
这两张图片的名称分别是city5~iphone.jpg
和city5~ipad.jpg
这些图像在iphone上的效果与预期一样。然而,ipad图像从未加载,视图只是保持空白。我正在ipad2上部署。您的问题在
UIImage*backgroundImage=[UIImage imagename:@“city5.jpg]”
特别是imageNamed:@“city5.jpg”
当您使用imageNamed:
时,它将查找.png
图像而不是.jpg
图像,因此本质上您是在查找文件city5.jpg.png
,这显然是您想要的,所以请将该行更改为UIImage*backgroundImage=[UIImage imageNamed:@“city5”];
并将图像文件更改为.png
如果您想将其保留为.jpg
,请尝试以下操作
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"city5" ofType:@"jpg"];
UIImage *backgroundImage = [UIImage imageWithContentsOfFile:filePath];
如果这些都不起作用,我会怀疑你的问题是三件事之一:
- 您试图加载的映像不存在于捆绑包中。因此,请确保图像实际位于项目中,并通过单击文件并选择其所属的目标来检查目标
- 确保图像名称没有拼写错误
- 或者您使用的是视网膜显示器,但没有@2x图像。试着把你的模拟器换成视网膜,看看它是否出现
作为最后的手段,试着做
UIImage*backgroundImage=[UIImage-imagename:@“city5~ipad”]代码>
您还可以尝试执行以下操作:self.view.backgroundColor=[UIColor colorWithPatternImage:[UIImage imageNamed:@“city5”]代码>我尝试了你的两个建议,但都没有成功,我甚至还导入了一个新的.png图像。iphone上的一切仍如预期一样正常。谢谢你回复我!UIImage*backgroundImage=[UIImage ImageName:@“城市5~ipad”];这在ipad视图中仍然不起作用。图像在项目中,我在iphone上运行时加载了它…@MartinJeffers如果您只使用addSubview:
而不是insertSubview:
?@MartinJeffers或者尝试self.view.backgroundColor=[UIColor WithPatternImage:[UIImage imageNamed:@“city5]”会发生什么代码>这个答案中的大部分都是不正确的。imageNamed:
方法不仅查找png图像。如果指定city5.jpg
,则它将查找名为city5.jpg
的文件。它唯一假定为png的时间是在不指定扩展名的情况下。