2 раскадровки для портрета и пейзажа - PullRequest
3 голосов
/ 06 марта 2012

Есть ли какой-нибудь возможный способ создать две раскадровки, один портрет и один пейзаж, а затем получить к ним доступ в зависимости от ориентации устройства? что-то вроде:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    if (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight) 
    {
        self.storyboard = (one of the storyboards);
    }
    else
    {
        self.storyboard (the other);
    }
}

этот код не работает. есть ли код, который будет работать ????

Ответы [ 2 ]

3 голосов
/ 07 марта 2012

Я полагаю, что существует гораздо более простой способ справиться с различными ориентациями.

Вы можете управлять макетом представления непосредственно из представления, используя метод layoutSubviews.

Этот методВызывается каждый раз, когда изменяется рамка представления (например, когда происходит изменение ориентации).

Внутри вы можете сделать пользовательский макет на основе размера представления.

Это предполагает, что выхотите управлять только макетом, если вам нужны разные раскадровки, потому что навигация отличается в зависимости от ориентации (что не рекомендуется Apple), это вам не поможет;но опять же, это действительно не лучший способ сделать это.

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

0 голосов
/ 06 марта 2012

Изменение раскадровки при вращении вполне выполнимо. Это почти то же самое, что смена контроллеров представления при вращении.

Вы не должны shouldAutorotateToInterfaceOrientation:. Этот метод вызывается для запроса разрешения вращения. Это не само вращение. Вы должны использовать willRotateToInterfaceOrientation:duration:, потому что это вызывается, когда начинается вращение.

Что касается смены контроллеров представления в разных раскадровках, я бы предложил это видеоурок . Я смотрел его пару дней назад, и после его просмотра я вполне мог использовать несколько раскадровок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...