我有一个 UIView,其中包含 UILabels、UISliders、UITextboxes 等。我只想对滑块执行操作。这是怎么做到的?目前,我有
int count = 0;
for (UIView *subview in [myView subviews])
{
if ([subview isKindOfClass:[UISlider class]]);
{
[subview removeFromSuperview];
NSLog(@"Class for object removed is %@",[subview class]);
count ++;
}
//else{do nothing - subview isn't a slider, so I don't care about it}
}
NSLog(@"count = %d",count);
当我运行这段代码时,一切都会受到影响(滑块,以及标签、文本框和其他一切)。根据我从阅读其他帖子中收集到的信息,使用带有数组的 isKindOfClass 有点小故障,但我认为这只是在尝试做isKindOfClass:[NSArray class]
. 还是我错了?isKindOfClass
如果不允许在循环内进行这种嵌套for
,如何仅对视图中的某些项目执行操作?
编辑:为此的一个实现添加了整个代码。计数已关闭,NSLog 告诉我一大堆 UILabel 正在被删除。运行后,我的视图完全清空了所有内容。
编辑 2:;
在 if 语句的末尾添加,就像我在实际代码中一样。我在我的代码中删除了它,现在我得到了我预期的行为。