我使用2 UIView在xib文件中绘制不同的对象。在为某些操作绘制新对象之前,需要清除视图。最初,当对象类型的数量较少时,我一直在使用它:
for (UILabel *btn in self.contentView.subviews)
{
if([btn isKindOfClass:[UILabel class]])
{
[btn removeFromSuperview];
}
}
但是当我有多个动作并且要为每个动作绘制多个类型的对象时,使用这种类型的方法看起来很糟糕。有没有一种有效的方法来做到这一点?
答案 0 :(得分:16)
您应该使用此功能删除所有子视图,无论其类别如何。
[self.contentView.subviews makeObjectsPerformSelector: @selector(removeFromSuperview)];
答案 1 :(得分:0)
使用此选项从UIView中删除所有对象
NSArray *arr=view.subviews; //Your Vies's object.subviews
for (UIView *view1 in arr)
{
[view1 removeFromSuperview];
}