Сделайте ландшафт единственной ориентацией авторотата для контроллеров всех видов.
-
26-10-2019 - |
Вопрос
Я знаю, что должен добавить это
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}
Для контроллера представления, чтобы сделать этот конкретный замок экрана в режиме ландшафта, но должен ли я делать это для каждого контроллера представления? Есть ли способ просто сделать основную блокировку, которая будет применяться ко всем контроллерам представления?
Решение
Вы можете создать свой собственный подкласс UIViewController
, который реализует -shouldAutorotateToInterfaceOrientation:
.
Тогда любой подкласс этого будет наследовать поведение.
Другие советы
Поскольку вы упомянули, что это игра, я согласен, что это хорошая идея, чтобы действительно применить это ко всему приложению.
Если вы нажмете свой проект в Project Navigator, выберите свою цель, и на вкладке «Сводка» все четыре ориентации перечислены, и вы можете включить только те, которые вы хотите.
Для приложений, не связанных с игрой, я бы не посоветовал это, так как может быть одно представление о том, что нуждается в другой ориентации.