我有一个小的 png,我正在添加到一个 View 中,我很确定我以前工作过,但突然停止在 iPad 上工作,同时继续在 iPad 模拟器上正常工作。
这是我用来将图像添加到 View 的代码...
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];
}
}
我不认为这是我在代码中更改的任何内容,因为它在模拟器中工作。不知道下一步该去哪里寻找问题。我已重置模拟器以查看重置后它是否会损坏。我也清理了这个项目。
谢谢。
约翰
最佳答案
在此行之后放置一个断点 UIImageView *bottomResizer = [[UIImageView alloc]...
然后在控制台“po [bottomResizer image]”
如果它为零,那么资源没有被正确复制到包中,或者您可能有设备无法加载的损坏图像。
关于xcode - 图像显示在 iPad 模拟器中,但不是设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11145870/