UIImages不会在iPhone上的TableView中显示,而是在Simulator中工作

时间:2010-04-25 21:32:29

标签: iphone uitableview uiimage ios-simulator

我有一个UITable View,它在表格单元格的左侧显示一个图像,它在模拟器中工作正常。

唯一的问题是,一旦我在设备上运行它,就不会出现图像。这只是一个空白的空白区域。

检查过图像是否已添加到资源文件夹中以进行构建(它们是什么)以及大写字母等匹配(他们这样做)。

有什么想法吗?

感谢。

显示图像的代码:

cell.imageView.layer.masksToBounds = YES;
    cell.imageView.layer.cornerRadius = 5.0;

    UIImage *image = [UIImage imageNamed:[[dog types] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]];;
    if ( image ) {
        cell.imageView.image = [image imageScaledToSize:CGSizeMake(50, 50)];
    }

6 个答案:

答案 0 :(得分:0)

这是图像的问题,而不是你的代码(如果它们在模拟器中显示)。很多时候图像格式不正确(以便iPhone可以理解),并且很多时候重命名都会导致不好的工作(假设您在不改变格式的情况下更改了扩展名)。

你无法将模拟器与iPhone进行比较,因为模拟器利用了mac-os,所以它可以做一些iPhone无法做到的事情。

因此,故事的寓意是重新创建您的图像,并使用其他图像(在其他项目中已在设备上显示的图像)检查您的代码。

谢谢,

Madhup

答案 1 :(得分:0)

检查您在XCode上运行的iPhone SDK版本。

它应该与iPhone的iPhone OS包含相同。

可能是这个问题......

答案 2 :(得分:0)

如果您想尝试,可以使用另一种解决方案来获取圆形图像:

UIImageView * roundedView = [[UIImageView alloc] initWithImage: [UIImage imageNamed:@"wood.jpg"]];
// Get the Layer of any view
CALayer * l = [roundedView layer];
[l setMasksToBounds:YES];
[l setCornerRadius:10.0];

// You can even add a border
[l setBorderWidth:4.0];
[l setBorderColor:[[UIColor blueColor] CGColor]];

答案 3 :(得分:0)

用这个代替你的代码并查看登录控制台:

NSString *strImgName = [[dog types] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]];

NSLog(@"%@",strImgName);

UIImage *image = [UIImage imageNamed:strImgName];

并查看您作为图像名称获得的内容,并将其与资源文件夹中的实际图像进行匹配...它应该相同(即apple.png = apple.png),包括* .extensions

答案 4 :(得分:0)

如果图像在资源组中,请尝试此操作。

  

UIImage * cellImage = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:[[dog types] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] ofType:@“png”]];

答案 5 :(得分:0)

我知道,现在这是一个很老的帖子,但我想我必须分享我的问题,某处

在我的情况下,我有以下代码

UIImageView *tempImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"some-Background.png"]];
[tempImageView setFrame:self.tableView.frame];
[self.tableView setBackgroundView:tempImageView];

但我的图片被命名为“some-background.png”。

在模拟器中一切都很好看,但在手机上我没有背景。似乎模拟器不区分大小写,而iPhone则不然。