奇怪的问题我似乎无法解决仅在哪里,当出生率最初设置为非零值时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 上看到一篇帖子,其中有几个人提到他们在使用 and 时遇到了类似的问题iOS 7
,CAEmitterLayer
但没有人知道如何解决它。现在它iOS 7
不再是测试版,我想我应该在这里问一下,看看是否有人可以破解它。我真的希望这不仅仅是一个我们必须等待7.0.1
或7.1
修复的错误。任何想法将不胜感激。谢谢!