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

时间:2011-12-09 11:25:16

标签: iphone view for-loop subview

我有一个观点。在这里有一个观点。在这个视图中,我放置了可变数量的按钮。每个按钮都有一些图像(UIImageViews作为子视图)。我想循环浏览X个按钮并检查按钮是否有超过6个子视图。后来我想删除一些子视图。

我只为一个按钮成功实现了这个,但是喜欢将它用于X个按钮。 (让我们说56)

这是一个代码snippit:

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 个答案:

答案 0 :(得分:0)

考虑使用标签栏控制器在任意多个标签上调用相同的事件!