当我使用removeFromSuperview()时,为什么UIImageView会被删除?

时间:2016-09-02 07:07:32

标签: swift uiimageview

当我使用带有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

2 个答案:

答案 0 :(得分:0)

您要将imageView添加到overlayView。稍后您将从superview中删除overlayView

删除视图(removeFromSuperview :)时,会对视图及其子视图执行发布。因此,您的imageView已被删除。查看removeFromSuperview上的官方documentation reference

答案 1 :(得分:0)

当您将imageView添加到overlayView并随后从其超级视图中移除overlayView时,这也会删除overlayView的所有子视图,包括您的imageView 。因此它不会显示。