Swift-insertSubview用法

时间:2018-12-19 09:12:57

标签: ios swift uiview uiimageview

@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?

2 个答案:

答案 0 :(得分:0)

尝试一下-

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

答案 1 :(得分:0)

最初,myView没有子视图。 因此,当您对第一个子视图(imageView1)(无论您提供什么索引)使用insertSubview时,它都将添加到位置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上方