removefromsuperview问题

时间:2011-07-28 15:26:40

标签: iphone

当我从view.m文件([self removeFromSuperview];)调用removeFromSuperview时,似乎工作正常。但是当我从视图controller.m文件([self.view removeFromSuperview]调用该方法时,它只返回错误。我不知道它有什么问题。

1 个答案:

答案 0 :(得分:3)

我猜您的视图是控制器视图中的子视图之一。调用[self.view removeFromSuperview]只会尝试从父视图中删除控制器的视图。这可能不是你想要做的。您需要找到属于您视图类型(或使用标记)的self.view的子项,然后将其删除。

如果没有确切的代码,这就是您需要做的事情。

  1. 在将其添加到控制器视图之前/之后,将要删除的视图的标记设置为42(myview.tag = 42)。
  2. 当您准备通过控制器视图的子视图删除视图循环时,如果子视图的标记为42,则在该视图上执行removeFromSuperview。像这样的东西

    for([self.view subviews]中的UIView *视图){    if(view.tag == 42){       [查看removeFromSuperview];     } }