#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) анимация {
}