当我从view.m文件([self removeFromSuperview];
)调用removeFromSuperview时,似乎工作正常。但是当我从视图controller.m文件([self.view removeFromSuperview]
调用该方法时,它只返回错误。我不知道它有什么问题。
答案 0 :(得分:3)
我猜您的视图是控制器视图中的子视图之一。调用[self.view removeFromSuperview]只会尝试从父视图中删除控制器的视图。这可能不是你想要做的。您需要找到属于您视图类型(或使用标记)的self.view的子项,然后将其删除。
如果没有确切的代码,这就是您需要做的事情。
当您准备通过控制器视图的子视图删除视图循环时,如果子视图的标记为42,则在该视图上执行removeFromSuperview。像这样的东西
for([self.view subviews]中的UIView *视图){ if(view.tag == 42){ [查看removeFromSuperview]; } }