我正在尝试在代码中的资产文件夹中显示标题为“ purpleConfetti”的图像,但出现错误,“使用未解决的标识符”。我该如何解决?
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)
}
整个项目的目标是使五彩纸屑从界面顶部掉下来。
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
}
}
答案 0 :(得分:1)
您需要加载图片:
let purpleConfetti: UIImage = UIImage(named: "purpleConfetti")
let emitter: Emitter = Emitter.get(with: purpleConfetti)
答案 1 :(得分:0)
将let emitter = Emitter.get(with: purpleConfetti)
替换为
let emitter = Emitter.get(with: UIImage(named: "purpleConfetti"))
OR
let emitter = Emitter.get(with: #imageLiteral(resourceName: "purpleConfetti"))