Как настроить определенный контроллер вида для альбомной и портретной ориентации и только для альбомной ориентации? (iOS)

Как я могу настроить определенный контроллер вида как альбомный и портретный и обязательно только альбомный? Спасибо .


person Community    schedule 07.05.2016    source источник
comment
Могу ли я узнать, поддерживает ли ваше приложение ландшафтный и портретный режимы или поддерживает только портретный режим?   -  person Madhu    schedule 07.05.2016
comment
приложение поддерживает портрет, но некоторые виды должны быть портретными и альбомными   -  person    schedule 07.05.2016


Ответы (2)


Шаг 1. Создайте подкласс UINavigationcontroller с именем CustomNavController. Шаг 2. Инициализируйте CustomNavController вместо UINavigationController в AppdDelegate.

Шаг 3. переопределите следующий метод UINavigationController в CustomNavController

-(NSUInteger) supportedInterfaceOrientations
{

    if([NSStringFromClass([[[self viewControllers] lastObject] class]) isEqualToString:@"ViewAsset"]){
        return UIInterfaceOrientationMaskAll;
    }

    return UIInterfaceOrientationMaskPortrait;
}

-(BOOL)shouldAutorotate
{
    return YES;
}

где ViewAsset — это имя класса, который вам нужен в обоих режимах.

для получения более интересных руководств посетите https://appengineer.in/

person Mahendra Y    schedule 07.05.2016
comment
У меня проблема, я успешно установил ориентацию, но когда я модально представляю другой ландшафтный контроллер на портретный контроллер, он показывает ландшафт. - person ; 07.05.2016

1) Выберите «ориентацию устройства», которую вы хотите использовать в своем проекте, в разделе «Информация о развертывании» на вкладке «Общие».

2) В вашем классе контроллера представления используйте этот код:

- (UIInterfaceOrientationMask) supportedInterfaceOrientations {

    return UIInterfaceOrientationMaskPortrait;

}

3) Для контроллеров представления, которые вы хотите поддерживать в обеих ориентациях:

- (UIInterfaceOrientationMask) supportedInterfaceOrientations {

    return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscape;

}
person iOS Geek    schedule 07.05.2016
comment
У меня проблема, я успешно установил ориентацию, но когда я модально представляю другой ландшафтный контроллер на портретный контроллер, он показывает ландшафт. - person ; 07.05.2016
comment
@TOP10NEWS - посмотрите, может ли эта ссылка помочь вам stackoverflow.com/a/27561781/6080920 - person iOS Geek; 09.05.2016