如何在uiview上插入图像

问题描述 投票:0回答:2

下面的代码在UIView上打印一行。我只想知道我要编写的代码,以便能够在视图顶部插入图像。许多人将point to this question但它不起作用。我试了好几次。我在下面尝试的代码没有任何效果。

class ViewController: UIViewController {
    var canVasView = UIView()

    override func viewDidLoad() {
        super.viewDidLoad()

        let myLayer = CALayer()
        let myImage = UIImage(named: "star")?.cgImage
        myLayer.frame = CGRect(x: 0, y: 0, width: 60, height: 60)
        myLayer.contents = myImage
        canVasView.layer.addSublayer(myLayer)
    }
}
ios swift uiview layer subview
2个回答
1
投票

首先,从图像文件创建一个UIImage,然后从中创建一个UIImageView

class ViewController: UIViewController {
  //  var canVasView = UIView()

    override func viewDidLoad() {
        super.viewDidLoad()

    let imageName = "star.png"
    let image = UIImage(named: imageName)
    let imageView = UIImageView(image: image!)

   // Finally you'll need to give `imageView` a frame and add it your view for it to be visible:

    imageView.frame = CGRect(x: 0, y: 0, width: 60, height: 60)
   // canVasView.addSubView(imageView)
    self.view.bringSubviewToFront(imageView)

  }

}

0
投票

您需要将canVasView作为Subview添加到UIViewController视图并在资源中添加图像。 See Image

class ViewController: UIViewController {

    var canVasView = UIView()

    override func viewDidLoad() {
        super.viewDidLoad()

        let myLayer = CALayer()
        let myImage = UIImage(named: "graph")?.cgImage
        myLayer.frame = CGRect(x: 0, y: 0, width: 60, height: 60)
        myLayer.contents = myImage
        canVasView.layer.addSublayer(myLayer)

        self.view.addSubview(canVasView)
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.