2012-06-21 54 views
4

我有一个小PNG,我加入到一个视图,我很确定我以前工作过,但突然停止工作在iPad本身,同时继续在iPad上工作正常模拟器。图片显示在iPad模拟器,但不是设备

这里是我使用的图像添加到视图代码...

UIImageView *bottomResizer = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"resizeLine.png"]]; 
    bottomResizer.center = CGPointMake(bottomResizer.center.x, bottomResizer.center.y+self.frame.size.height-12); 
    bottomResizer.tag = 301; 
    [self addSubview:bottomResizer]; 
    [bottomResizer release]; 

这发生在一个UIGestureRecognizerStateBegan事件。即使看不到它,下面的代码也会在touchesEnded事件中删除图像而不会出现任何错误。

NSArray *subViews = [self subviews]; 
int count = [subViews count]; 
for (int i =count-1; i>=0; i--) { 
    if([[subViews objectAtIndex:i] tag] == 301) { 
     [[subViews objectAtIndex:i] removeFromSuperview]; 

    } 
} 

我不认为这是我在代码中更改的任何东西,因为它在模拟器中工作。不确定下一步要看问题。我已重置模拟器以查看重置后是否会中断。我也清理了这个项目。

谢谢。

约翰

+1

仔细检查以确保resizeLine.png没有损坏。有时图像可能会轻微损坏,并且仍然在模拟器上工作,但不在设备上。试着插入一张新图片,看看你是否遇到同样的问题。 – Jeremy1026

+0

如果我使用其他图像,它工作正常。谢谢,图像损坏了一些如何。看到我的评论logancautrell的答案。任何建议来解决它? – user278859

回答

1

将断点此行之后UIImageView *bottomResizer = [[UIImageView alloc]...

然后在控制台“PO [bottomResizer图片]”

如果是零那么无论是资源没有得到正确地复制到捆绑或者你可能有一个损坏的图像,该设备无法加载。

+0

果然,图像是在ipad零而不是模拟器。有关如何解决问题的任何建议。读完你的文章后,我在一个绘图程序中打开了png,并将它保存到一个新文件中以替换我的项目中的一个。我也重置了iPad ......没有喜悦。 – user278859

+0

尝试转换为另一种格式,然后回到png。 – logancautrell

+0

这样做!我转换成gif并回到png。谢谢!! – user278859

相关问题