Reputation:
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
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
Reputation: 18878
You need to load your image:
let purpleConfetti: UIImage = UIImage(named: "purpleConfetti")
let emitter: Emitter = Emitter.get(with: purpleConfetti)
Upvotes: 1