从self.view中删除所有子类UIView

时间:2015-10-22 18:38:22

标签: ios objective-c uiview

我有一堆UIViews,我将其分类为self.view,例如:

MySpecialView *myView = [[MySpecialView alloc] init];
[self.view addSubview:myView];

现在我想从self.view删除所有内容,但只删除那些自定义内容。我不想删除任何其他的(我有一些其他视图,其中有选项等)。反正有没有这样做?我可以遍历所有子视图并检查其类型吗?关于这个的任何指针都会很棒!谢谢!

2 个答案:

答案 0 :(得分:4)

尝试这样的循环

for (UIView *view in self.view.subviews)
{
    if ([view isKindOfClass:[MySpecialView class]])
        [view removeFromSuperview];
}

这只是遍历所有子视图并删除任何类MySpecialView

答案 1 :(得分:0)

Swift 方式

    for subview in self.view.subviews {
        if subview.isKindOfClass(MyClass) {
            // Is that class!
        } else if subview.isMemberOfClass(MyClass) {
            // Is that class or a subclass of that class!
        }
    }