Перевернутая ориентация, не работающая в iOS6 для просмотра UINavigation и UITabbar? - программирование
Подтвердить что ты не робот

Перевернутая ориентация, не работающая в iOS6 для просмотра UINavigation и UITabbar?

Я создал приложение в ios 6 с навигационным представлением. Также я установил все параметры ориентации в сводке приложений и даже использовал

 -(BOOL) shouldAutoRotate

и

-(NSUInteger) supportedInterfaceOrientaion

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

Я также сталкиваюсь с той же проблемой, когда добавляю контроллер UITabBar.

Поделитесь своими идеями.

Спасибо

4b9b3361

Ответ 1

Hai Я нашел решение для своей проблемы

Решение:  Для приложения, состоящего из контроллера UINavigation, только я создал категорию для класса UINavigation Controller, и я определил эти методы

-(BOOL) shouldAutorotate{
    return YES;
}

-(NSUInteger) supportedInterfaceOrientations{

    return UIInterfaceOrientationMaskAll;
}

После добавления этой поддержки всякая поддержка была поддержана в моем приложении.

То же самое я сделал и для UITabBar Controller. Это тоже сработало для меня, создав категорию для UITabBar Controller.

Спасибо.

Ответ 2

Телефонные приложения традиционно не поддерживают перевернутый вниз (почему вы держите телефон перевернутым?) - проект по умолчанию будет поддерживать портрет и оба варианта ландшафта, но не вверх ногами.

Измените это в средстве просмотра информации о проекте в Xcode, и все будет в порядке. Существует визуальное представление поддерживаемых ориентаций, и перевернутая сторона будет не выбрана.

Ответ 3

Я думаю, что решение NSUserDefault является неполным:

От: https://developer.apple.com/library/ios/qa/qa1688/_index.html

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

Поэтому я считаю, что лучшим решением является создание подкласса и добавление:

-(BOOL) shouldAutorotate{
     return YES;
}

-(NSUInteger) supportedInterfaceOrientations{

     return UIInterfaceOrientationMaskAll;
}