Swift 为什么我使用removeFromSuperview()时UIImageView会删除?
为什么我在Swift中使用removeFromSuperview()时UIImageView会从数组中删除Swift 为什么我使用removeFromSuperview()时UIImageView会删除?,swift,uiimageview,Swift,Uiimageview,为什么我在Swift中使用removeFromSuperview()时UIImageView会从数组中删除 // display UIImageView var imageViews: [UIImageView] = [UIImageView]() imageViews.append(UIImageView(image: UIImage(named: "test.jpg"))) let imageView = imageViews[0] self.view.addSubview(imageVie
// 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
您正在将
imageView
添加到overlayView
。稍后,您将从superview中删除overlayView
删除视图(
removeFromSuperview
:)时,将对该视图及其子视图执行释放。因此,您的imageView
将被删除。当您将imageView
添加到overlayView
并随后从其超级视图中删除overlayView
时,请在removeFromSuperview
上检查官方,这也将删除overlayView
的所有子视图,包括您的imageView
。因此它不会显示。我认为这是不可能的。您确定这是全部代码吗?您的问题无法在标准环境中表示。我们需要更多的信息,也许是关于你使用的多线程对不起,我错了。我改变了问题,所以我喜欢这个。但它不会显示<代码>让overlayView=UIView(frame:self.view.frame)让tmpImageView=self.headerImageViews[self.pageControl.currentPage]让currentImageView=self.headerImageViews[self.pageControl.currentPage]overlayView.addSubview(overlayView)overlayView.removeFromSuperview()self.headerImageViews[self.pageControl.currentPage]=tmpImageView//empty我知道。但是,我首先直接将imageview添加到self.view中。因此,它不是overlayview的子视图。