当我使用带有Swift的removeFromSuperview()时,为什么UIImageView会从Array中删除?
// 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 :(得分:0)
您要将imageView
添加到overlayView
。稍后您将从superview中删除overlayView
。
删除视图(removeFromSuperview
:)时,会对视图及其子视图执行发布。因此,您的imageView
已被删除。查看removeFromSuperview
上的官方documentation reference。
答案 1 :(得分:0)
当您将imageView
添加到overlayView
并随后从其超级视图中移除overlayView
时,这也会删除overlayView
的所有子视图,包括您的imageView
。因此它不会显示。