У меня есть представление, которое я хочу масштабировать и переводить в новое место, анимируя его. Я попытался добиться этого с помощью следующего кода:
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:kDurationForFullScreenAnimation];
[[self animatingView] setFrame:finalRect];
[UIView commitAnimations];
Эффект этого кода заключается в том, что представление сначала меняет свой размер контента на finalRect, а затем переводит его в новое место. т.е. часть масштабирования никогда не анимируется. Вид просто преобразуется в новый размер и затем переводится.
Эта проблема уже обсуждалась в нескольких других потоках, но ни один из них не делает вывод. Решение существует, хотя, чтобы использовать таймер и каждый раз устанавливать кадр в обратном вызове таймера, но он имеет недостаток производительности.
Какое наиболее подходящее решение этой проблемы, также, почему в первом случае эта проблема возникает?
Спасибо