我有一个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)];
}
答案 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则不然。