Мне нужно реализовать очень настраиваемую анимацию в iOS 3.2. Итак, я не могу использовать блочную анимацию или анимацию UIKit до 4.0. Я пытаюсь использовать Core Animation.
Вот мой код:
[CATransaction begin];
[CATransaction setAnimationDuration: 3.0];
[CATransaction setDisableActions: YES];
someView.frame = CGRectMake(endX, 0, endWidth, height);
// a lot of another property changes
[CATransaction commit];
К сожалению, это не работает: виды меняют размер / непрозрачность сразу, без какой-либо анимации.
Вот мои попытки:
- Я установил новый фрейм не для просмотра, а для его слоя (someView.layer.frame = ...) - это было еще хуже, потому что размеры подпредставлений вида не менялись.
- Я установил для параметра отключения действия значение ДА и НЕТ.
Требования к решению:
- Должна поддерживаться iOS 3.2 (без блоков).
- Анимации необходимо применять к разным видам (следовательно, к разным слоям).
- Кривая анимации достаточно сложна, поэтому я не могу использовать предопределенные кривые анимации (или, на языке CA, MediaTimingFunction).