user13470903
user13470903

Reputation:

Trying to display an image from the asset folder

Im trying to display an image titled 'purpleConfetti' from my assets folder in my code, but I receive an error, 'use of unresolved identifier'. How do I fix this?

func displayConfetti() {
    let emitter = Emitter.get(with: purpleConfetti)
    emitter.emitterPosition = CGPoint(x: view.frame.size.width / 2, y: -10)
    emitter.emitterSize = CGSize(width: view.frame.size.width, height: 2)
    view.layer.addSublayer(emitter)
}

the goal of the entire project is to have confetti fall from the top of the interface.

import UIKit
class Emitter {
     static func get(with image: UIImage) -> CAEmitterLayer {
         let emitter = CAEmitterLayer()
         emitter.emitterShape = CAEmitterLayerEmitterShape.line
         emitter.emitterCells = generateEmitterCells(with: image)

         return emitter
    }

    static func generateEmitterCells(with image: UIImage) -> [CAEmitterCell] {
         var cells = [CAEmitterCell]()
         let cell = CAEmitterCell()
         cell.contents = image.cgImage
         cell.birthRate = 4
         cell.lifetime = 14
         cell.velocity = CGFloat(25)
         cell.emissionLongitude = (180 * (.pi/180))
         cell.emissionRange = (45 * (.pi/180))
         cell.spinRange = 3.5
         cell.scale = 0.1
         cell.scaleRange = 0.25
         cells.append(cell)
         return cells
     }
}

Upvotes: 0

Views: 76

Answers (2)

udbhateja
udbhateja

Reputation: 978

Replace let emitter = Emitter.get(with: purpleConfetti) with

let emitter = Emitter.get(with: UIImage(named: "purpleConfetti"))

OR

let emitter = Emitter.get(with: #imageLiteral(resourceName: "purpleConfetti"))

Upvotes: 0

Daniel Storm
Daniel Storm

Reputation: 18878

You need to load your image:

let purpleConfetti: UIImage = UIImage(named: "purpleConfetti")
let emitter: Emitter = Emitter.get(with: purpleConfetti)

Upvotes: 1

Related Questions