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 の 1 つの投稿で、iOS 7
とCAEmitterLayer
で同様の問題を抱えていると何人かの人々が言及しているのを見ましたが、誰もそれを修正する方法を知りませんでした。これiOS 7
はベータ版ではなくなったので、ここで質問して、誰かがクラックできるかどうかを確認する必要があると考えました. これが、待つ7.0.1
か修正する必要がある単なるバグではないことを願ってい7.1
ます。どんなアイデアでも大歓迎です。ありがとう!