Сделайте ландшафт единственной ориентацией авторотата для контроллеров всех видов.

StackOverflow https://stackoverflow.com/questions/8331946

Вопрос

Я знаю, что должен добавить это

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}

Для контроллера представления, чтобы сделать этот конкретный замок экрана в режиме ландшафта, но должен ли я делать это для каждого контроллера представления? Есть ли способ просто сделать основную блокировку, которая будет применяться ко всем контроллерам представления?

Это было полезно?

Решение

Вы можете создать свой собственный подкласс UIViewController, который реализует -shouldAutorotateToInterfaceOrientation:.

Тогда любой подкласс этого будет наследовать поведение.

Другие советы

Поскольку вы упомянули, что это игра, я согласен, что это хорошая идея, чтобы действительно применить это ко всему приложению.

Если вы нажмете свой проект в Project Navigator, выберите свою цель, и на вкладке «Сводка» все четыре ориентации перечислены, и вы можете включить только те, которые вы хотите.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top