Мой пользовательский элемент управления имеет метод -setValue: animated :, который принимает флаг animated
.
До iOS 4 я бы написал анимацию так:
if (animated) {
[UIView beginAnimations:@"Foo"];
[UIView setAnimationDuration:5.0];
}
// ... layout views ...
if (animated) {
[UIView commitAnimations];
}
Теперь я написал это:
[UIView animateWithDuration:(animated ? 5.0 : 0.0) animations:^{
// ... layout views ...
}];
НО: это приводит к тому, что некоторые элементы не анимируются!
Я называю этот метод более одного раза (первый раз без, второй раз с анимацией), поэтому во второй раз анимация отменяется, устанавливая мой новый кадр как "жесткий" (без анимации).
Как реализовать необязательную анимацию с подходом блоков?