IPhone - desbota e desaparece de um UIImageView com diferentes momentos
-
21-09-2019 - |
Pergunta
Eu gostaria de fazer um desbotamento dentro e fora de um UIImageView usando diferentes momentos, digamos, usando os seguintes parâmetros:
- t = 0 ... alfa do UiImageView = 0
- t = 0,5s ... alfa da UIImageView = 0,7
- t = 0,7s ... alfa do UiImageView = 0
É possível ver com caanimação ou outro método? Como isso pode ser feito?
Obrigado por qualquer ajuda!
Solução
Você provavelmente deve olhar para o Cakeyframeanimation. Ele permitirá que você defina valores para vários pontos de tempo.
Outras dicas
if (imgDefault.alpha == 0.0) {
CGContextRef context = UIGraphicsGetCurrentContext();
[UIView beginAnimations:nil context:context];
[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
[UIView setAnimationDuration: 3.0];
[UIView setAnimationDelegate: self];
imgDefault.alpha = 1.0;
[UIView commitAnimations];
}
else {
CGContextRef context = UIGraphicsGetCurrentContext();
[UIView beginAnimations:nil context:context];
[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
[UIView setAnimationDuration: 3.0];
[UIView setAnimationDelegate: self];
imgDefault.alpha = 0.0;
[UIView commitAnimations];
}
espero que ajude
O UIView possui um setanimationDidStoPselector: método que você pode usar. Basta configurar seu desbotamento em animação usando um bloco de iniciações e definir o seletor Didstop como outro método que contém apenas o bloco de animação Fade out. Cada um desses blocos de animação pode ter diferentes durações de animação.
Algo assim:
[UIView beginAnimations:next context:context];
[UIView setAnimationDuration:0.5];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(fadeOut:finished:context:)];
myView.alpha = 0.7;
[UIView commitAnimations];
-(void)fadeOut:(NSString*)animationID finished:(BOOL)finished context:(void*)context {
[UIView beginAnimations:nil context:context];
[UIView setAnimationDuration:0.2];
myView.alpha = 0.0;
[UIView commitAnimations];
}