У меня 10 UILabels
, может быть, немного UIImageViews
.Я хочу отобразить все это в 1 UIView
с плавным переходом FadeOut & FadeIn, один за другим.
Я знаю, что размещение UIView
анимаций в цикле for не будет работать, так как анимации выполняются асинхронно и не дают должного эффекта.Таким образом, обычно я делаю это, объединяя анимацию UIView
.т.е. после завершения анимации одного элемента начинайте следующий.Для 3-4 элементов код выглядит хорошо.Вот так -
[UIView animateWithDuration:0.25
delay:0
options:UIViewAnimationCurveEaseInOut
animations:^{ //do something with alpha here - first element }
completion:^(BOOL finished){
[UIView animateWithDuration:0.25
delay:0
options:UIViewAnimationCurveEaseInOut
animations:^{ //do something with alpha here - 2nd element}
completion:^(BOOL finished){ ... }
}
Но для 10+ элементов это становится очень грязным.Как можно это сделать?По сути, я создаю UIView
с циклическим контентом, очень похожим на виджет.