iOS UIView Animation CATransform3DMakeRotation confusão
Eu tenho umUIView
que estou tentando animar lançando para baixo, enquanto o eixo está na parte inferior da visualização. Por exemplo.
Para fazer isso, estou tentando usar uma animação UIView:
[UIView animateWithDuration:3 delay:0 options:UIViewAnimationCurveEaseOut animations:^{
// Flip Down
top3.layer.anchorPoint = CGPointMake(0.5, 1.0);
top3.layer.transform = CATransform3DMakeRotation(M_PI, 1, 0, 0);
} completion:^(BOOL finished) {
// Reset?
//top3.transform = CGAffineTransformMakeScale(1, 1);
}];
Agora, ele não está funcionando como eu quero, parece que a visualização está animando TOTALMENTE do usuário e não para o usuário. Não parece dar um efeito 3D que faz com que pareça mais próximo do usuário ao girar para baixo, como mostrado na minha imagem. Tenho certeza de que isso se deve à minha falta de compreensão de como usarCATransform3DMakeRotation
.
Questões
Como posso fazer com que a visualização apareça mais próxima do usuário à medida que ela cai? Como inclinar como no meu exemplo de imagem?Quando eu defino meuanchorPoint
muda minha visão, como posso evitar isso e ainda definir meuanchorPoint
?WithUIView
animação, posso usar as configurações de atenuação? UsavaUIViewAnimationCurveEaseOut
nas opções.Posso usar configurações de gravidade?