2016-01-24 5 views
0

Моим приложениям требуется только портрет и портрет. В информации о развертывании целевой я только проверил эти два. В Info.plist доступны все четыре. Xcode не позволял мне строить, когда я удалял Пейзажи из Info-plist, говоря, что мне нужно поддержать всех четырех. Теперь, после запуска приложения через TestFligh, он по-прежнему возвращает Пейзаж, хотя он не отмечен в информации о развертывании. Как я могу избавиться от этого?Исправить ориентацию на iPad

+1

Проверить уникальность списка ориентации info.plist. Случилось со мной - у меня было по некоторым причинам два, хотя я никогда не создавал их вручную. – EBDOKUM

+0

Возможный дубликат [не может заставить приложение использовать только портрет в iOS9] (http://stackoverflow.com/questions/34566240/cannot-force-app-to-portrait-only-in-ios9) –

ответ

1

Вы можете «разрешить» все 4 параметра в ваших настройках, но затем сами контролируйте ориентацию.

Я бы создать контроллер пользовательского UINavigation с этим внутри (Swift):

import UIKit 

class MyCustomNavigationController: UINavigationController { 
    override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask { 
     return (visibleViewController?.supportedInterfaceOrientations())! 
    } 

    override func shouldAutorotate() -> Bool { 
     return (visibleViewController?.shouldAutorotate())! 
    } 
} 

Затем, в каждом из ViewControllers вы хотите, чтобы заставить в определенную ориентацию, вы включаете это:

override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask { 
    return UIInterfaceOrientationMask.Landscape // Or portrait 
} 

override func shouldAutorotate() -> Bool { 
    return true 
} 

Таким образом, вы можете разрешить все ориентации, но при этом сохранять контроль над самими видами. Если вы хотите, чтобы ВСЕ представления были одинаковыми (например, пейзаж), вы могли бы создать собственный базовый класс для всех своих контроллеров представлений со вторым набором кода в нем, и вам не пришлось бы включать его в каждый отдельный VC.

+1

@ Kidlcarus271: отлично работает ! – mojomo