Как вставить изображение поверх uiview - PullRequest
0 голосов
/ 30 апреля 2019

Код ниже печатает строку в UIView. Я просто хочу знать код, который я бы написал, чтобы можно было вставить изображение поверх представления. Многие люди укажут на этот вопрос , но он не работает. Я пробовал это несколько раз. Код, который я попробовал ниже, не имеет никакого эффекта.

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)
    }
}

Ответы [ 2 ]

1 голос
/ 30 апреля 2019

Сначала вы создаете 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 голосов
/ 30 апреля 2019

Вам необходимо добавить canVasView в качестве подпредставления к UIViewController представлению и добавить изображение в ресурсы. См. Изображение

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)
    }
}
...