Animações - exmo/equizmo-ios GitHub Wiki
Onde encontrar?
A animação de neves caindo foi utilizado em LoginViewController.xib
Como utilizar?
Para criar a animação na tela de Login criamos uma a classe SnowView.h que estende o comportamento de UIView.
Esta classe utiliza o biblioteca QuartzCore/QuartzCore.h. Logo, você precisa incluir esta biblioteca em seu projeto.
Para utilizar esta view bastou abrir o LoginViewController.xib no interfacebuilder e selecionar a view e então, selecionar a classe SnowView.h como Custom Class.
Vamos olhar um pouco da implementação da classe SnowView.h:
-(void)awakeFromNib{
snowEmitter = (CAEmitterLayer*)self.layer;
snowEmitter.emitterPosition = CGPointMake(self.frame.size.width/2, 0);
snowEmitter.renderMode = kCAEmitterLayerAdditive;
CAEmitterCell* snow = [CAEmitterCell emitterCell];
snow.emissionLongitude = M_PI / 2;
snow.emissionLatitude = 200;
snow.lifetime = 1.5;
snow.birthRate = 2;
snow.velocity = 450;
snow.velocityRange = 50;
snow.yAcceleration = -250;
snow.emissionRange = M_PI / 3;
snow.color = [[UIColor colorWithRed:0.2 green:0.1 blue:0.2 alpha:0.5] CGColor];
snow.contents = (id)[[UIImage imageNamed:@"snow.png"] CGImage];
snow.scaleSpeed = 0.5;
snow.spin = 0.8;
[snow setName:@"snow"];
snowEmitter.emitterCells = [NSArray arrayWithObject:snow];
}
Vejam que o primeiro passo é instanciar CAEmitterLayer na variável snowEmitter que representará uma camada da minha view. Definimos a posição de onde a animação emitirá os elementos;
O próximo passo foi criar uma CAEmitterCell que representará a neve. Vejam que foram várias configurações e existem muitas outras que podem ser exploradas!