Я переключаюсь между представлениями, используя анимацию представления, это работает, но у меня проблема с ориентацией интерфейса.
У меня есть два представления для окна.
- authenticationViewCont
- mainViewCont
У обоих есть кнопка, при нажатии кнопки на authenticationViewCont
я удаляю ее и показываю mainViewCont
и наоборот.
После добавления просмотраauthenticationViewCont.view
и перевод устройства в портретный режим, затем удалите его с помощью removeFromSuperview
, затем я изменяю ориентацию устройства на ландшафт в моих руках, затем снова добавляю Subview the authenticationViewCont
.Сначала он отображал анимацию в портретной ориентации и изменение ориентации после анимации.
-(void)mainToAuthentication {
CGRect originalFrame = authenticationViewCont.view.frame;
CGRect modifiedFrame = originalFrame;
modifiedFrame.origin.y = originalFrame.size.height;
// made view out from screen
authenticationViewCont.view.frame = modifiedFrame;
// add sub view on top of other views
[self.window addSubview:authenticationViewCont.view];
// transiting view from bottom to center of screen
[UIView animateWithDuration:0.5
animations:^{ authenticationViewCont.view.frame = originalFrame; }
completion:^(BOOL finished){ mainViewCont.view removeFromSuperview; }];
}
-(void)authenticationToMain {
CGRect originalFrame = mainViewCont.view.frame;
CGRect modifiedFrame = originalFrame;
modifiedFrame.origin.y = -originalFrame.size.height;
// made view out from screen
mainViewCont.view.frame = modifiedFrame;
// add sub view on top of other views
[self.window addSubview:mainViewCont.view];
// transiting view from top to center of screen
[UIView animateWithDuration:0.5
animations:^{ mainViewCont.view.frame = originalFrame; }
completion:^(BOOL finished){ authenticationViewCont.view removeFromSuperview; }];
}
Как настроить отображение в текущей ориентации интерфейса вместо старой ориентации интерфейса, в которой оно было removeFromSuperview
?