使用 removeFromSuperview 一次性删除添加的 viewControllers 视图
Posted
技术标签:
【中文标题】使用 removeFromSuperview 一次性删除添加的 viewControllers 视图【英文标题】:Remove added viewControllers view using removeFromSuperview all at once 【发布时间】:2014-03-27 11:21:50 【问题描述】:我以下列方式添加了viewcontrollers
:
在第一个viewController
:
[self.view addsubview:secondViewcontroller.view];
然后在第二个viewController
:
[self.view addsubview:thirdViewcontroller.view];
然后在第三个viewController
:
[self.view addsubview:fourthViewcontroller.view];
现在我在fouthViewcontroller
并想使用removeFromSuperview
方法回到firsiViewController
。
我们怎样才能做到这一点?有没有其他方法可以做到这一点。我不想使用UINavigationController
。
【问题讨论】:
***.com/questions/2156015/remove-all-subviews 试试这个 【参考方案1】:试试下面的代码,它可能会工作
NSArray * subviews = [self.view subviews];
int cnt = [subviews count];
for(int j=cnt-1; j >=0 ; --j )
UIView * sview = [subviews objectAtIndex:j];
[sview removeFromSuperview];
【讨论】:
【参考方案2】:一行
[self.view.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];
【讨论】:
以上是关于使用 removeFromSuperview 一次性删除添加的 viewControllers 视图的主要内容,如果未能解决你的问题,请参考以下文章
自定义 UITableViewCells 和正确使用 prepareForReuse 和 removeFromSuperview
removeFromSuperview 的 EXC_BAD_ACCESS - 使用 ARC