【问题标题】:How to manage subviews added in a UIView?如何管理添加到 UIView 中的子视图?
【发布时间】:2013-01-09 11:06:54
【问题描述】:

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

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

【问题讨论】:

  • 谢谢大家。我还有一个疑问,如果我要清除整个视图,那么下面的答案就可以了,如果我想保留一些与用户名无关的常用标签,那我该怎么办?

标签: iphone ios cocoa-touch uiview uilabel


【解决方案1】:

使用

for (UIView* view in self.view.subviews) {
    if(view isKindOfClass:[UILabel class]) {
        //do whatever you want to do
    }
}

【讨论】:

    【解决方案2】:

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

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

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

    UIView *subview = [view viewWithTag:n]
    

    【讨论】:

      【解决方案3】:

      可以通过以下方式进行

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

      希望你问这个问题。

      【讨论】:

        【解决方案4】:
        [labelName removeFromSuperview];
        

        【讨论】:

          【解决方案5】:

          使用这个:

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

          这将删除 View 的所有子视图

          【讨论】:

            【解决方案6】:

            试试这个:

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

            【讨论】:

              【解决方案7】:

              调用下面的方法并将“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
              }
              

              干杯!

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2014-02-26
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多