0

我正在使用源代码UIImage从这个博客加载/旋转/缩放/移动一个。

我需要用一个按钮一次删除所有图像,我试过这个:

[holderView removeFromSuperview];

但它只删除最后一个创建的不是全部。

编辑

我在应用程序中有另一个子视图,我不希望它们被删除“按钮、UIImageView、UIScrollView ..etc”。

4

2 回答 2

0

试试这个代码

NSArray *viewsToRemove = [self.view subviews];
for (UIView *v in viewsToRemove)
{
    [v removeFromSuperview];
}

希望对你有帮助

编辑 :-

更有效的去除

NSArray *viewsToRemove = [self.view subviews];
    for (UIView *v in viewsToRemove)
    {
        NSArray *imagesToRemove = [v subviews];
        for (UIImageView *i in imagesToRemove)
        {
            [i removeFromSuperview];
        }
        [v removeFromSuperview];
    }

第二次编辑:-

NSArray *viewsToRemove = [self.view subviews];
    for (UIView *v in viewsToRemove)
    {
        NSArray *imagesToRemove = [v subviews];
        for (UIImageView *i in imagesToRemove)
        {
            i.image = nil;
        }
        //[v removeFromSuperview];
    }
于 2013-01-10T14:37:26.853 回答
0

我认为您可以使用 NSMutableArray 来存储 UIView 的列表

将此代码嵌入到 .h

@property (nonatomic, retain) NSMutableArray *imgList;

我是 .m 文件

@synthesize imgList;

视图加载后

NSMutableArray *imgList = [[NSMutableArray alloc] init];

在“imagePickerController:didFinishPickingMediaWithInfo:”末尾添加

[imgList addObject:holderView];

当您需要删除使用

for(UIView *tempView in imgList) {
    [tempView removeFromSuperview];
}
于 2013-01-10T14:43:13.660 回答