0

我在清除视图时遇到问题,对于特定情况,我一直在将用户名作为标签添加到视图中,根据情况我可能有多个用户,现在我的问题是,对于一种情况,我想清除视图而不弹出它,我不知道如何删除那些添加的标签,我有一个想法,我可以为每个标签设置标签,我可以稍后使用它来清除。在这种特殊情况下,还有任何其他有效的方法。

希望我的问题很清楚谢谢。

4

7 回答 7

2

采用

for (UIView* view in self.view.subviews) {
    if(view isKindOfClass:[UILabel class]) {
        //do whatever you want to do
    }
}
于 2013-01-09T11:11:06.343 回答
0

您可以像这样删除所有子视图:

for (UIView *subView in [view subviews])
    [subView removeFromSuperview];

或者,如果您想访问标签值为 n 的特定视图,

UIView *subview = [view viewWithTag:n]
于 2013-01-09T11:10:36.927 回答
0

您可以通过以下方式进行

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

希望你问这个。

于 2013-01-09T11:11:23.093 回答
0
[labelName removeFromSuperview];
于 2013-01-09T11:11:41.110 回答
0

用这个 :

for(id viewSub in self.view.subviews)
    {
        [viewSub removeFromSuperview];
    }

这将删除 View 的所有子视图

于 2013-01-09T11:13:30.880 回答
0

试试这个:

for (UIView *v in [self.relatedView subviews])
{
    [v removeFromSuperview];
}
于 2013-01-09T11:15:00.273 回答
0

调用以下方法并将“UIWebView”对象作为参数传递:

+(void)removeAllSubViews:(id)pObj
{
    NSArray *Array = [pObj subviews];
    for(int index = 0; index < [Array count]; index++)
    {
        [[Array objectAtIndex:index] removeFromSuperview];
    }
}

如果您想要任何特定对象,也可以像这样检查对象:

if(view isKindOfClass:[UILabel class]) {
    //do whatever you want to do
}

干杯!

于 2013-01-09T11:21:43.690 回答