Swift - insertSubview 用法

Swift - insertSubview usage

@IBOutlet var myView: UIView!
override func viewDidLoad() {
    super.viewDidLoad()

    let imageView1: UIImageView = UIImageView()
    imageView1.frame = CGRect(x: 80, y: 100, width: 100, height: 100)
    imageView1.image = UIImage(named: "logo2")

    let imageView2: UIImageView = UIImageView()
    imageView2.frame = CGRect(x: 100, y: 100, width: 100, height: 200)
    imageView2.image = UIImage(named: "1")

    myView.insertSubview(imageView1, at: 2)
    myView.insertSubview(imageView2, at: 1)

}

您好,当我切换 insertSubview 索引时,两个图像的 z 位置仍然相同。如何正确使用insertSubview?

试试这个 -

    self. myView.insertSubview(imageView2, belowSubview: imageView1)

最初,myView 没有子视图。 因此,当您将 insertSubview 用于第一个子视图时(imageView1)(无论您提供什么索引),它都会添加到位置 0.

现在如果你想插入第二个子视图(imageview2)但又想让imageView1出现在imageView2上方,那么你需要在索引0处插入第二个子视图。

例如:

myView.insertSubview(imageView1, at: 0)

myView.insertSubview(imageView2, at: 0)

在这种情况下 imageView1 出现在 imageView2

上方

然而,

myView.insertSubview(imageView1, at: 0)

myView.insertSubview(imageView2, at: 1)

此处,imageView2出现在imageView1

上方