Подтвердить что ты не робот

Остановить только экран iPhone, вращающийся в универсальном проекте Xcode 6

С введением Xcode 6 Apple удалила возможность легко иметь несколько раскадровки для iPad и iPhone в универсальных приложениях. Из-за этого вы не можете различать iPad и iPhone на панели/настройках вращения.

Как я могу остановить приложение iPhone от поворота до пейзажа, но все же позволяю iPad-приложению сделать это.

Это что-то, что вы можете сделать только в коде? Если это так, я все еще использую Objective C, а не Swift.

4b9b3361

Ответ 1

Удалите все остальные ответы. Перейдите в свой файл info.plist и добавьте следующее.

  • "Поддерживаемые интерфейсные интерфейсы" - массив
    • "Портрет (нижняя кнопка дома)" - Строка
    • "Портрет (верхняя кнопка дома)" - Строка
  • "Поддерживаемые интерфейсные интерфейсы (iPad)" - массив
    • "Портрет (нижняя кнопка дома)" - Строка
    • "Портрет (верхняя кнопка дома)" - Строка
    • "Пейзаж (кнопка останова дома)" - Строка
    • "Пейзаж (правая кнопка дома)" - Строка

Ответ 2

Отметьте ЭТО ответ.

В принципе, вам нужно будет выполнить ответ Chris1994 на UINavigationController или подклассе UITabBarController , а затем добавить следующее к первому UIVIewController подкласс, который вы используете в этом Nav или Tab Controller:

- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortrait;
}

Ответ 3

    - (NSUInteger) supportedInterfaceOrientations
    {
        NSString *device = [UIDevice currentDevice].model;

        if([device isEqualToString:@"iPhone"])
        {
            return UIInterfaceOrientationMaskPortrait;
        }
        else
        {
        return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscape;
        }
    }

- (BOOL)shouldAutorotate
{
if([device isEqualToString:@"iPhone"])
  {
     return NO;
  }
  else
  {
      return YES;
  }
}