Я относительно новичок в разработке IOS. У меня есть вопрос относительно анимации UIView.
В моем приложении у меня есть представление, скажем «View1», которое состоит из трех представлений, представления заголовка, представления 2 и представления нижнего колонтитула. Ширина каждого из трех видов одинакова (такая же, как у view1). Высота вида заголовка и нижнего колонтитула фиксирована, а высота View2 зависит от высоты View1. Таким образом, Высота View2 рассчитывается как Высота View1 - (высота вида заголовка + высота вида нижнего колонтитула). Авторазмер для каждого из трех подпредставлений не установлен. Таким образом, все вещи позиционирования для всех подпредставлений View1 выполняются в его методе layoutSubviews. Текущий макет View1 выглядит следующим образом
-------------------------
| Header View |
| |
-------------------------
| |
| |
| View2 |
| |
-------------------------
| Footer View |
| |
-------------------------
View1
Теперь я хочу, чтобы, когда пользователь нажимал на нижний колонтитул, view1 должен свернуться с анимацией, так что размер View2 станет равным нулю, а нижний колонтитул будет расположен чуть ниже заголовка. Поэтому после анимации текущая компоновка view1 должна выглядеть следующим образом
-------------------------
| Header View |
| |
-------------------------
| Footer View |
| |
-------------------------
View1 (After Animation)
Для достижения вышеуказанного результата я написал следующий код в методе обработчика жеста касания в представлении нижнего колонтитула в родительском представлении View1
CGFloat headerViewHeight = self.view1.headerView.frame.size.height;
CGFloat footerViewHeight = self.view1.footerView.frame.size.height;
CGFloat newHeight = (headerViewHeight + footerViewHeight);
CGRect frame = self.view1.frame;
frame.size.height = newHeight;
[UIView beginAnimation:nil context:NULL];
[UIView setAnimationDuration:3.0f];
self.view1.frame = frame;
[UIView commitAnimation];
При запуске над кодом, на экране высота View2 устанавливается на 0, нижний колонтитул сразу же располагается под заголовком, а затем высота View1 медленно уменьшается с анимацией до newHeight с анимацией. Это не желаемый результат, я хочу, чтобы высота View1 уменьшалась с анимацией, тогда высота View2 также должна уменьшаться с той же величиной с анимацией, а представление нижнего колонтитула должно двигаться вверх с таким же количеством с анимацией, чтобы результат получался плавным. .
Любая помощь или руководство о том, как я могу достичь вышеуказанного результата?