Остановить только экран iPhone, вращающийся в универсальном проекте Xcode 6
С введением Xcode 6 Apple удалила возможность легко иметь несколько раскадровки для iPad и iPhone в универсальных приложениях. Из-за этого вы не можете различать iPad и iPhone на панели/настройках вращения.
Как я могу остановить приложение iPhone от поворота до пейзажа, но все же позволяю iPad-приложению сделать это.
Это что-то, что вы можете сделать только в коде? Если это так, я все еще использую Objective C, а не Swift.
Ответы
Ответ 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;
}
}