removeFromSuperView在iPod上很好但在iPhone上崩溃了

时间:2011-07-22 14:33:37

标签: iphone objective-c ipad uiview

在我正在开发的iPhone应用程序中的不同视图之间进行切换时,我会从更大的视图中添加和删除子视图。我编写的代码适用于iPod 4,iPhone 3,iPad 1,iPad 2以及模拟器。但是,我通过removeFromSuperView调用在iPhone 4上出现了错误的访问错误。我知道这可能是因为我过度发布了一些东西,所以superview不再存在,但是它如何在所有其他设备上运行?

1 个答案:

答案 0 :(得分:0)

//尝试执行以下操作 -

if(subview.superview!=nil)
    [subview removeFromSuperview];

// --------------------------------------------- -----------------

//如果你有更多的视图,那么检查这样的视图 -

for(UIView * subview in self.view) {

  if(subview == view1) {
    if(subview.superview!=nil)
       [subview removeFromSuperview];
    }
else if(subview == view2){
    if(subview.superview!=nil)
       [subview removeFromSuperview];
    }
   .
   .
   .
 }