Проблема с размером UIView и pushViewController

#iphone #uiview #uinavigationcontroller

#iPhone #uiview #uinavigationcontroller

Вопрос:

У меня есть UINavigationController с UIView, в котором есть таблица, текстовое поле и кнопка. Когда пользователь фокусируется на текстовом поле, я изменяю размер UIView для клавиатуры, используя следующий код:

 CGRect viewFrame = self.view.frame;
viewFrame.size.height = 460.f - (up ? 260.f : 44.f);

self.view.frame = viewFrame;
  

После нажатия пользователем кнопки я переключаюсь на следующий просмотр, используя следующий код:

 UserViewController *userViewController = [UserViewController userWithId:((UIButton *)sender).tag];
[self.navigationController pushViewController:userViewController animated:YES];
  

Проблема в том, что когда я переключаюсь на следующий просмотр, текущий вид, размер которого изменен, возвращается к исходному размеру, и мне не нравится, как это выглядит. Я хочу сохранить размер UIView и клавиатуры во время анимации и вернуть его в состояние по умолчанию только после того, как пользователь нажмет кнопку «Назад».

Ответ №1:

Поддерживайте изменение размера пользовательского интерфейса

-(void) viewWillAppear:(BOOL) анимация { ..coading }

-(void) viewWillDisappear: (BOOL) анимация {

}