如何从rootViewController中删除所有UIViews

时间:2012-12-14 10:54:09

标签: iphone ios uinavigationcontroller

我目前位于topViewController,而UIView已添加到rootViewController。在通过UIViews转到rootViewController之前,有什么办法可以删除所有popToRootViewContoller吗?

5 个答案:

答案 0 :(得分:2)

在“返回”操作中,键入以下代码:

for (UIView *subview in self.view.subviews) {
    [subview removeFromSuperview];
}

然后输入popToRootViewContoller

答案 1 :(得分:1)

viewWillDisappear您可以执行此任务,当您离开rootViewController时,此方法会调用,因此您可以在此时删除您的视图。

-(void)viewWillDisappear:(BOOL)animated
{
    for (UIView *view in [self.view subviews]) {
        [view removeFromSuperview];
    }
}

答案 2 :(得分:1)

在YourViewController的viewWillAppear:方法中添加此内容

for (UIView *view in self.view.subviews) {
        [view removeFromSuperview];
    }

希望它可以帮到你

答案 3 :(得分:0)

试试这个:

-(void)viewWillAppear:(BOOL)animated
{
NSArray *subviews = [self.view subviews];


    for (UIView *subview in subviews) {

        [subview removeFromSuperview];

    }
}

答案 4 :(得分:0)

[yourView removeFromSuperView]

但是当您弹出subviews时,添加的UIViewController将不存在,所以我认为您不需要这样做