Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 从self.view中删除所有子类UIView_Ios_Objective C_Uiview - Fatal编程技术网

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

Ios 从self.view中删除所有子类UIView,ios,objective-c,uiview,Ios,Objective C,Uiview,我有一系列的UIView子类,我一直在添加到self.view中,例如: MySpecialView *myView = [[MySpecialView alloc] init]; [self.view addSubview:myView]; 现在我想将它们全部从self.view中删除,但只删除那些自定义的。我不想删除任何其他视图(我有一些其他视图,其中包含选项等)。到底有没有这样做的必要?我可以循环所有子视图并检查它们的类型吗?任何关于这方面的建议都会很好!谢谢 试试这样的循环 for (

我有一系列的UIView子类,我一直在添加到
self.view
中,例如:

MySpecialView *myView = [[MySpecialView alloc] init];
[self.view addSubview:myView];
现在我想将它们全部从
self.view
中删除,但只删除那些自定义的。我不想删除任何其他视图(我有一些其他视图,其中包含选项等)。到底有没有这样做的必要?我可以循环所有子视图并检查它们的类型吗?任何关于这方面的建议都会很好!谢谢

试试这样的循环

for (UIView *view in self.view.subviews)
{
    if ([view isKindOfClass:[MySpecialView class]])
        [view removeFromSuperview];
}
这只需遍历所有子视图,并删除属于类的任何子视图

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

这只需迭代所有子视图,并删除属于MySpecialView类的任何子视图

    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!
        }
    }

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!
        }
    }

如果无法理解您的问题,您可以通过调用[myCustomview removeFromSuperView]为自定义视图标记并删除它们。(我有一些其他视图,其中包含选项等)的含义是什么?或者您可以检查视图是否属于tomyspecialview类,然后将其删除。您可以给自定义视图标记并通过调用[myCustomview removeFromSuperView]将其删除。我无法理解您的问题。(我有一些其他视图,其中包含选项等)的含义是什么?或者您可以检查视图是否属于tomyspecialview类,然后将其删除