Как повернуть из вертикального вида в горизонтальный в пользовательском приложении для iPhone
-
13-09-2019 - |
Вопрос
У меня есть один контроллер представления с одним представлением графика и сегментированным элементом управления внутри него.Как сделать так, чтобы вид поворачивался в горизонтальное положение?Кроме того, можно ли загрузить другой вид для горизонтальной ориентации?
Спасибо заранее, mladen
Решение
Вы реализуете ориентационную поддержку посредством:
- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
// Just delete the lines for the orientations you don't want to support
if((toInterfaceOrientation == UIInterfaceOrientationPortrait) ||
(toInterfaceOrientation == UIInterfaceOrientationPortraitUpsideDown)) ||
(toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft)) ||
(toInterfaceOrientation == UIInterfaceOrientationLandscapeRight)) {
return YES;
}
return NO;
}
Затем, чтобы загрузить новый ViewController при вращении:
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
if((fromInterfaceOrientation == UIInterfaceOrientationLandscapeLeft) ||
(fromInterfaceOrientation == UIInterfaceOrientationLandscapeRight))
{
// Load the view controller you want to display in portrait mode...
}
}
Вы даже можете настроить анимацию для управления свойством альфа нового представления, если хотите сделать плавный переход, как вы видите в приложении iPod, когда оно переходит в режим CoverFlow.
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИПредпочтительный метод поддержки ротации интерфейсов изменится в версии 3.0.Вышеописанный метод по-прежнему будет работать, но есть способ получить более плавную анимацию.Но мы не должны говорить об этом здесь.более.неделя.
ЕЩЕ ОДНО vОТКАЗ ОТ ОТВЕТСТВЕННОСТИПредпочтительный метод поддержки ротации интерфейсов снова изменится в версии 6.0.Вышеописанный метод по-прежнему будет работать, но есть способ получить более плавную анимацию.
Другие советы
Для вращения устройства вы должны реализовать этот метод в своем viewController:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation