4

我有一个小 png,我正在将它添加到一个视图中,我很确定我以前工作过,但突然停止在 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];

     }
 }

我不认为这是我在代码中更改的任何内容,因为它可以在模拟器中运行。不知道下一步该去哪里寻找问题。我已经重置了模拟器,看看它是否会在重置后中断。我也清理了项目。

谢谢。

约翰

4

1 回答 1

1

在此行之后放置一个断点UIImageView *bottomResizer = [[UIImageView alloc]...

然后在控制台“po [bottomResizer image]”

如果它为 nil,则资源没有正确复制到包中,或者您可能有一个设备无法加载的损坏图像。

于 2012-06-21T20:07:03.017 回答