2016-09-02 5 views
-1

Почему UIImageView удаляется из массива, когда я использовал removeFromSuperview() с Swift?Почему UIImageView удаляется, когда я использовал removeFromSuperview()?

// display UIImageView 
var imageViews: [UIImageView] = [UIImageView]() 
imageViews.append(UIImageView(image: UIImage(named: "test.jpg"))) 
let imageView = imageViews[0] 
self.view.addSubview(imageView) // display image view 

let overlayView = UIView(frame: self.view.frame) 
overlayView.addSubview(imageView) 
self.view.addSubview(overlayView) 
overlayView.removeFromSuperview() 

// not display image view 
+0

Я не думаю, что это возможно. Вы уверены, что это весь код? – ozgur

+0

Ваша проблема не может быть представлена ​​в стандартной среде. Нам нужна дополнительная информация, возможно, о нескольких потоках, которые вы используете –

+0

извините, я ошибся. Я изменил вопрос. – naohide

ответ

0

Вы добавляете imageViewoverlayView к. Позже вы удаляете overlayView из супервизора.

Когда вы удаляете представление (removeFromSuperview :), релиз выполняется в представлении и его подзонах. Таким образом, ваш imageView удален. Обратитесь к официальному лицу documentation reference по телефону removeFromSuperview.

+0

Извините, я ошибся. Я изменил вопрос. – naohide

+0

большое вам спасибо! – naohide

+0

Так что мне это понравилось. но он не будет отображаться. 'пусть OverlayView = UIView (кадр: self.view.frame) пусть tmpImageView = self.headerImageViews [self.pageControl.currentPage] пусть currentImageView = self.headerImageViews [self.pageControl.currentPage] overlayView.addSubview (currentImageView) self.view.addSubview (overlayView) overlayView.removeFromSuperview() self.headerImageViews [self.pageControl.currentPage] = tmpImageView // empty' – naohide

0

При добавлении imageView к overlayView, а затем удалить overlayView из его супер зрения, это также приведет к удалению всех подвидов из overlayViewimageView включая ваши. Поэтому он не будет отображаться.

+0

Я знаю. но я добавил изображение в self.view прямо во-первых. поэтому, это не относится к overlayview. – naohide

Смежные вопросы