2016-03-20 3 views
0

Я новичок в Xcode и Swift. (Xcode 7.2, Swift 2.0). Мой первый проект содержит контроллер навигации и 3 других контроллера вида: A, B и C. Я не хочу, чтобы какие-либо виды автоматически вращались. Я хочу, чтобы A и B постоянно были на портрете и C постоянно в ландшафте. В целом -> Информация о развертывании -> Ориентация устройства. Я проверил портрет и пейзаж слева. В каждом VC у меня есть такой код в viewDidLoad.Отключить автоматическое вращение

let value = UIInterfaceOrientation.LandscapeLeft.rawValue 
UIDevice.currentDevice().setValue(value, forKey: "orientation") 

и следующий метод ...

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

Каждое представление начинается в нужной ориентации. Однако черточка держит авто вращение.

ответ

-1

Первый способ: если вы не хотите вращать какой-либо VC в своем проекте, просто снимите флажки с параметрами «Ориентация устройства» в окне «Цели». enter image description here

Второй способ: Если вы используете UINavigationController и если вы хотите вызвать shouldAutorotate() функцию, вы должны создать пользовательский UINavigationController класс и импортировать следующий код,

Подобно этому, в вашем customNavigationController класс,

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

Таким образом, вы можете изменить Аноф er NavigationController's viewControllers для разрешения атак

1

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

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

Кроме того, эта линия:

UIDevice.currentDevice().setValue(value, forKey: "orientation") 

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

Смежные вопросы