iOS 7 CAEmitterLayer порождает частицы неуместно
Странная проблема, которую я не могу решить, где наiOS 7
только,CAEmitterLayer
будет порождать частицы на экране неправильно, когда коэффициент рождаемости изначально установлен на ненулевое значение. Это как если бы он вычислял состояние слоя в будущем.
// Create black image particle
CGRect rect = CGRectMake(0, 0, 20, 20);
UIGraphicsBeginImageContext(rect.size);
CGContextFillRect(UIGraphicsGetCurrentContext(), rect);
UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
// Create cell
CAEmitterCell *cell = [CAEmitterCell emitterCell];
cell.contents = (__bridge id)img.CGImage;
cell.birthRate = 100.0;
cell.lifetime = 10.0;
cell.velocity = 100.0;
// Create emitter with particles emitting from a line on the
// bottom of the screen
CAEmitterLayer *emitter = [CAEmitterLayer layer];
emitter.emitterShape = kCAEmitterLayerLine;
emitter.emitterSize = CGSizeMake(self.view.bounds.size.width,0);
emitter.emitterPosition = CGPointMake(self.view.bounds.size.width/2,
self.view.bounds.size.height);
emitter.emitterCells = @[cell];
[self.view.layer addSublayer:emitter];
Я видел на DevForums один пост, где несколько человек упоминали, что у них были похожие проблемы сiOS 7
а такжеCAEmitterLayer
, но никто не имел никаких идей, как это исправить. Теперь, когдаiOS 7
больше не бета, я решил спросить здесь и посмотреть, сможет ли кто-нибудь взломать его. Я действительно надеюсь, что это не просто ошибка, которую мы должны ждать7.0.1
или же7.1
чтобы исправить. Любые идеи будут высоко оценены. Спасибо!