を働いていない、私は以下のコードを使用して既存のビューから画像を削除しようとしています:removeFromSuperview UIImageViewは
-(void) deleteImage:(int)imageID{
//[self.imageArray removeObjectAtIndex:imageID];
//remove the image from the screen
for (UIView* view in self.view.subviews) {
if ([view isKindOfClass:[UIImageView class]] && [view tag] == imageID) {
//could be a bug here with the re-Ordering of the array (could add a helper method to reset all the tags on screen when this is called
NSLog(@"view %@", view);
//[self.imageArray removeObjectAtIndex:imageID];
[view removeFromSuperview];
}
}
}
のNSLogは、次のように出力します
view <UIImageView: 0x18b8d7b0; frame = (0 0; 768 2016); autoresize = RM+BM; userInteractionEnabled = NO; layer = <CALayer: 0x18b8d890>>
私が持っている問題はそのことですImageViewが表示されているように見えますが、ImageViewは削除されません。
あなたは要件を詳しく教えてください。実際に 'imageView'自体を削除するか、単に' imageView'で表示される画像を消去する必要がありますか? – GoGreen
@GoGreen imageView自体を削除する必要があります。 – jampez77
スーパービューから削除する前にステートメントを記録しました。 for文の後にサブビューをループして、 'imageView'がまだ存在するかどうかを確認してください。また、これはサブビューを削除する理想的な方法ではありません。削除したいビューへの参照を、 'property'または'インスタンス変数 'として追加しておきます。この参照を使用して削除することができます。再度確認してください。 – GoGreen