Держите CAEmitter по центру при вращении устройства
Есть ли способ сохранить CAEmitter по центру UIView (используя Autolayout) при вращении устройства?
Я добавляю свой эмиттер в viewDidLoad следующим образом:
// setup emitter
let emitter = CAEmitterLayer()
emitter.frame = self.view.bounds
emitter.renderMode = kCAEmitterLayerAdditive
emitter.emitterPosition = self.view.center
self.view.layer.insertSublayer(emitter, atIndex: 1)
// setup cells
let cell = CAEmitterCell()
cell.contents = UIImage(named: "particle")?.CGImage
cell.birthRate = 1500
cell.lifetime = 5.0
cell.color = UIColor(red: 1.0, green: 0.5, blue: 0.1, alpha: 1).CGColor
cell.alphaSpeed = -0.4
cell.velocity = 50
cell.velocityRange = 250
cell.emissionRange = CGFloat(M_PI) * 2.0
//add cells to the emitter
emitter.emitterCells = [cell]
Я попытался удалить его и снова добавить его, но он не по центру....
1 ответ
Решение
Хорошо понял. Для всех, кто сталкивался с этим...
override func viewDidLayoutSubviews() {
emitter.emitterPosition = self.view.center
}