Я хочу запланировать серию анимаций, которые оживляют вводный текст по экрану. Самая последняя анимация, по завершении, должна скрыть логику игры, которая должна запускать игру.UIView animateWithDuration не соответствует задержке
Почему-то все происходит немедленно. Может ли кто-нибудь проливать свет на то, почему это происходит, или лучшая альтернатива?
[self.view bringSubviewToFront:_ViewIntroSeconds];
[UIView animateWithDuration:0.4 delay:0.0 options:UIViewAnimationOptionCurveEaseInOut
animations:^(void) {
[_IntroLabel1 setAlpha:1];
}
completion:^(BOOL finished){
}];
[UIView animateWithDuration:0.4 delay:3.0 options:UIViewAnimationOptionCurveEaseInOut
animations:^(void) {
[_IntroLabel2 setAlpha:1];
[_IntroLabel1 setAlpha:0];
[_IntroLabel1 setCenter:CGPointMake(0, _IntroLabel1.center.y)];
}
completion:^(BOOL finished){
}];
[UIView animateWithDuration:0.4 delay:5.0 options:UIViewAnimationOptionCurveEaseInOut
animations:^(void) {
[_IntroLabel3 setAlpha:1];
[_IntroLabel2 setAlpha:0];
[_IntroLabel2 setCenter:CGPointMake(0, _IntroLabel2.center.y)];
}
completion:^(BOOL finished){
[self updateGame];
[self updateClock];
[_ViewIntroSeconds setAlpha:0];
}];
Хорошая идея, но я хочу, чтобы продолжительность анимации и задержка между следующей анимацией были разными – Chris
Затем измените 'delay' вы хотите в соответствующих' animateWithDuration' блоках. Имейте в виду, что 'delay' будет кумулятивным. Если вы установите задержки в 1, 2 и 3 секунды в блоке, они будут вызываться время от времени: 1, 3 и 6 секунд. – n00bProgrammer
Красиво сделано, спасибо! – Chris