Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.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
Objective c 如何对UIView元素进行内部迭代_Objective C_For In Loop - Fatal编程技术网

Objective c 如何对UIView元素进行内部迭代

Objective c 如何对UIView元素进行内部迭代,objective-c,for-in-loop,Objective C,For In Loop,我有这段代码,但是我不能在UIScroll中迭代我的主UIView(self)元素 如何迭代主UIView中的所有元素 for (UIView *objet in self.view.subviews) { if ([objet isKindOfClass:[UIButton class]]) { [objet setBackgroundColor:[UIColor blueColor]]; } } 我也试过这个,但不

我有这段代码,但是我不能在UIScroll中迭代我的主UIView(self)元素

如何迭代主UIView中的所有元素

 for (UIView *objet in self.view.subviews) {

        if ([objet isKindOfClass:[UIButton class]]) {

             [objet setBackgroundColor:[UIColor blueColor]];

        }

    }
我也试过这个,但不起作用

for (UIView *objeto in super.self.view.subviews) { 

    if ([objeto isKindOfClass:[UIButton class]]) {

         [objeto setBackgroundColor:[UIColor blueColor]];

        }

 }
试试这个:

for (UIView *objet in self.view.subviews) {

    if ([objet isKindOfClass:[UIButton class]]) {
        UIButton *aButton = (UIButton *)objet;

        [aButton setBackgroundColor:[UIColor blueColor]];

    }

}

编译器可能会对您更满意(而且您不会看到关于在UIView上调用“
setBackgroundColor
”的警告)。

您是如何创建子视图的?您可以为每个设置
setTag:
,然后使用如下内容:

for (int i = 0; i < subviewsCount; ++i)
{
    [[superview viewWithTag:i] setBackgroundColor: [UIColor blueColor]];
}

我认为呼叫super.self是胡说八道。呵呵,好吧。我没有更多的想法来解决这个问题,试试我的。我会更新我的答案。刷新站点并查看他。按钮子视图是您的子视图中的一个吗?如果是这样,你也需要检查一下。
for (UIView *currentView in arrayOfSubviews)
{
    [currentView setBackgroundColor: [UIColor blueColor]];
}