0
_topBar = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 45)];

UIImageView *bar = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"top_bar.png"]];
bar.frame = CGRectMake(0, 0, 320, 45);
[_topBar addSubview:bar];

_up = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"up.png"]];
[_topBar addSubview:_up];

_up 没有出现在我的构建中。如果我将“up.png”交换为资源文件夹中的任何其他图像,它会显示,但 up.png 拒绝显示。有什么我可以做的吗?我只使用 UIImage、静态分配的 UIImageView 对其进行了初始化,删除并重新添加了 .png 文件,将它们从资源文件夹中取出并将它们放在其他地方,重新保存它们,除了扔掉它们之外的一切。

编辑: 该文件保存为 up.png 但实际上是 up.png.psd。只是阅读细则的问题。

4

2 回答 2

6

检查 Finder 中的种类。它可能不是 png,因此不会显示。

自从您发表评论以来,我现在知道这是真的:)

于 2012-08-20T19:18:42.107 回答
3

有几件事。在右侧窗格中选择文件,打开最右侧(第 3 个)文件检查器窗格,并确保此图像包含在您的 Target 中。

在代码中,打破这个:

UIImage *image = [UIImage imageNamed:@"up.png"];
NSLog(@"image %@", image);
_up = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"up.png"]];
NSLog(@"UP FRAME: %@", NSStringFromCGRect(_up.frame) );
// maybe set the frame to what you want?
_up.frame = (CGRect){ {0,0}, image.size }; // set origin where you want it
于 2012-08-20T19:18:37.347 回答