0

UIImageソースコードを使用して、このブログから読み込み/回転/ズーム/移動しています。

1 つのボタンですべての画像を一度に削除する必要があるため、これを試しました。

[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];
    }

2番目の編集:-

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;

Im.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 に答える