我正在尝试将UIImageView作为子视图添加到现有的UIImageView,以获取Backgroundimage,可以将其设置为AspectFit。

所以我尝试这样做:

import UIKit

class ViewController: UIViewController {

    @IBOutlet var photo: UIImageView!
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.

        photo.image = UIImage(named:"test.png")
        photo.contentMode = .scaleAspectFill

        let width = self.photo.bounds.size.width
        let height = self.photo.bounds.size.height

        let imageViewBackground = UIImageView(frame: CGRect(x:0,y:0,width:width,height:height))
        imageViewBackground.image = UIImage(named:"DG.png")

        imageViewBackground.contentMode = .scaleAspectFit

        photo.addSubview(imageViewBackground)
        photo.sendSubviewToBack(imageViewBackground)
    }
}


但是,“ DG.png”始终显示在“ test.png”的前面。
我还尝试将子视图插入索引0,并且还尝试在UIImageView的扩展名中添加该代码,但是没有任何效果。

有人可以解释一下,这为什么不起作用?

谢谢!

最佳答案

如果将一个视图添加为另一个视图的子视图,它将始终位于父视图的前面。

为什么不使用第一个imageview作为背景并将照片添加为子视图?
为什么要在代码中添加imageview?您可以仅在情节提要中添加imageview。

关于ios - 将UIImageView subview 作为背景添加到UIImageView不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57576755/

10-11 22:22
查看更多