Я пытаюсь удалить изображение из существующего вида, используя код ниже: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»? – GoGreen
@GoGreen Мне нужно удалить сам imageView – jampez77
, вы записали заявление перед удалением его из супервизора. Попробуйте выполнить цикл через subviews после инструкции for, чтобы проверить, присутствует ли 'imageView'. Кроме того, это не идеальный способ удаления subviews. Сохраните ссылку на представление, которое хотите удалить, добавив его как переменную 'property' или' instance. Затем вы можете удалить его, используя эту ссылку. Пожалуйста, проверьте еще раз. – GoGreen