当我的应用程序回到它的根视图控制器,在viewDidAppear:方法中,我需要删除所有子视图。

我该怎么做呢?


当前回答

使用以下代码删除所有子视图。

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

其他回答

为了从父视图中移除所有子视图:

NSArray *oSubView = [self subviews];
for(int iCount = 0; iCount < [oSubView count]; iCount++)
{
    id object = [oSubView objectAtIndex:iCount];
    [object removeFromSuperview];
    iCount--;
}

试试swift 2.0

view.subviews.forEach { $0.removeFromSuperview() }

在monotouch / xamarin。这对我来说很管用:

SomeParentUiView.Subviews.All(x => x.RemoveFromSuperview);

为了删除所有子视图

- (void)makeObjectsPerformSelector:(SEL)aSelector;

用法:

[self.View.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];

该方法存在于NSArray.h文件中,并使用NSArray(NSExtendedArray)接口

view.subviews.forEach { $0.removeFromSuperview() }