如何通过所有控件进行操作并对某些操作进行操作?
问题描述:
我有一个iPad应用程序,基于用户在视图中触摸的位置在运行时添加按钮。如何通过所有控件进行操作并对某些操作进行操作?
现在 - 我需要一次删除所有这些按钮。
我已经设置每个按钮的标记是非常高的,并按照被删除的按钮的类型分组。
如何循环查看视图上的所有按钮,并将其删除,如果它们属于正确的分类?
答
这将删除所有UIButton。采用它来满足你的需求。如果你想使用标签,我会建议标记每个应该保留在视图中的按钮。
for (id object in [self.view subviews]) {
if ([object isKindOfClass:[UIButton class]]) {
[object removeFromSuperview];
}
}
或者可以在每次的UIButton添加到的NSMutableSet当您创建,以及删除该组的每一个按钮,如果你不需要他们了。
+0
yup,并且我添加了一下标签....每个自定义按钮都有一个唯一的标签ID,当我通过控件循环时,如果找到了唯一ID,则它会被冲走。谢谢 – pithhelmet 2011-02-08 18:18:18
答
唯一基于标记的方法是UIView#viewForTag,它返回一个单独的对象。 (我相信这是你使用该标签添加的最后一个视图)。但是,您可以将上述代码适用于您的目的:
for (UIView *iView in [self.view subviews]) {
if (iView.tag == TARGET_CLASSIFICATION_TYPE) {
[iView removeFromSuperview];
}
}
您应该考虑选择未回答的问题的答案。 – Moshe 2011-01-31 17:53:52