Загрузка другого портрета / пейзажа UIViews - PullRequest
1 голос
/ 10 июня 2010

У меня следующая структура View COntroller:

ScrollViewController LandscapeViewController PortraitViewController

Каждый со своим .nib

Приложение запускается в ландшафтном режиме, когда в вид прокрутки добавляется множество пейзажных видов. Каждый альбомный вид имеет свой портретный вид, поэтому я должен назначить идентификаторы для каждого из этих видов. Можете ли вы сказать мне, как я могу загрузить определенный портретный вид для каждого ландшафтного вида при вращении устройства?

Нужно ли делать два вида прокрутки? Один для пейзажа, один для портрета? Или же можно просто прокрутить вид с горизонтальной прокруткой и загрузить только один портретный вид с нужным содержимым на основе идентификатора? Как я мог это реализовать?

Данные поступают из списка свойств.

Заранее спасибо!

1 Ответ

2 голосов
/ 10 июня 2010

Вы используете mustAutorotateToInterfaceOrientation в вашем UIViewController, чтобы обеспечить функциональность, которую вы ищете.В приведенном ниже примере я переключаю виды в соответствии с изменениями ориентации:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    if (UIInterfaceOrientationIsPortrait(interfaceOrientation)) {
    /* Switch to the portrait view or do any other custom layout changes for current Orientation */
       self.view = portraitView;
    } else if (UIInterfaceOrientationIsLandscape(interfaceOrientation)) {
    /* Switch to the landscape view or do any other custom layout changes for current Orientation */
       self.view = landscapeView;
    }   
    return YES;
}

В вашем случае вы можете использовать shouldAutorotateToInterfaceOrientation, чтобы изменить размер ваших видов или переключиться на их соответствующие портретные виды.

Надеюсь, это поможет.

...