Нам нужно показать 10 изображений последовательно с определенным интервалом времени (изображения по умолчанию скрыты = да и имеют тег от 1111 до 1120). Результатом кода является появление изображений сразу, без задержек. Анимация выполняется отдельной функцией. В чем может быть проблема? Я использую Xcode 8.2.1Анимация без задержки (UIView animateWithDuration delay)
-(void)doski:(NSInteger)i
{
[UIView animateWithDuration:1.0
delay:5.0
options:UIViewAnimationOptionAutoreverse | UIViewAnimationOptionCurveLinear | UIViewAnimationOptionAllowUserInteraction
animations:^(void) {
}
completion:^(BOOL finished) {
[self.view viewWithTag:(i+1110)].hidden=NO;
NSInteger i2=i;
i2++;
if(i2<11)
[self doski:i2];
}];
}
...........
//function call
[self doski:1];
При использовании этой опции, ситуация не изменилась:
-(void)doski:(NSInteger)i
{
[UIView animateWithDuration:1.0 delay:0.0 options:UIViewAnimationOptionCurveEaseInOut
animations:^(void) {
}
completion:^(BOOL finished){
[UIView animateWithDuration:2.0 delay:1.0 options:
UIViewAnimationOptionCurveEaseIn animations:^{
[self.view viewWithTag:(i+1110)].hidden=NO;
} completion:^ (BOOL completed) {NSInteger i2=i;
i2++;
if(i2<18)
[self doski:i2];}];
}];
}
Спасибо.
добавить, если (завершено) в вашем блоке завершения, и вы вызываете [self dosk: 1] вне вашего блока анимации в первом методе. Этот код действительно грязный и вонючий, я бы пошел с UICollecitonView и сделал анимацию. –