如何从 X 个按钮中删除子视图

Posted

技术标签:

【中文标题】如何从 X 个按钮中删除子视图【英文标题】:How to remove the subviews from a X number of buttons 【发布时间】:2011-12-09 11:25:15 【问题描述】:

我有一个看法。里面有风景。在这个视图中,我放置了可变数量的按钮。每个按钮都有一些图像(UIImageViews 作为子视图)。我想遍历 X 数量的按钮并检查按钮是否有超过 6 个子视图。后记我想删除一些子视图。

我只为一个按钮成功实现了此功能,但我希望将它用于 X 数量的按钮。 (假设是 56)

这是一个代码片段:

if([button.subviews count] >= 6)
        for ( int i = 1; i < 4; i++ )
           [[button.subviews objectAtIndex:i] removeFromSuperview]; 
        

我在想我正在寻找这样的功能:

for(UIView *subview in [drawView subviews])
   if([subview is kindOfClass:[UIButton class]])
      //deleting subviews of the buttons here
   


编辑

通过使用修复它:

for(UIView *subview in [drawView subviews])
   if([subview is kindOfClass:[UIButton class]])
      if([subview.subviews count] =>6)
         for(int i = 1; i <4; i++)
            [[subview.subviews objectAtIndex:i] removeFromSuperview];
         
      
   

【问题讨论】:

【参考方案1】:

考虑使用标签栏控制器在尽可能多的标签上调用相同的事件!

【讨论】:

我更想通过放置一个计数 int(在 for 语句中)调用每个按钮来循环所有按钮。比如 for(int = 0; i =6) 等有什么线索吗? 我会说对按钮使用标签属性!而不是保留 57 个按钮名称,而是使用标签来调用它们。

以上是关于如何从 X 个按钮中删除子视图的主要内容,如果未能解决你的问题,请参考以下文章

如何在子视图移动期间使动画子视图中的按钮工作?

如何通过按下子视图中的按钮来删除以编程方式创建的子视图

从 UIButton 视图中删除 Activity Indicator 子视图

只要按下键盘上的x按钮,如何从一个文本字段中删除值

清除和退出按钮

如何从表视图中添加/删除子视图