2014-09-17 2 views
0

У меня есть контроллер вида, который спроектирован в портретном режиме. У меня есть другой контроллер представления, спроектированный в ландшафтном представлении (в раскадровки). На моем первом контроллере просмотра (портрет VC) у меня есть кнопка, которая приведет вас к пейзажу VC. Когда вы нажимаете на кнопку, контроллер пейзажного вида сначала отображается в портретном виде и не изменяется до тех пор, пока не будет повернут. Я бы хотел, чтобы этот контроллер пейзажного вида автоматически отображался в ландшафте без необходимости его поворота. Я шифровал это быстро и не повезло. В моем меню plist есть все ориентации. Любая помощь будет замечательной.Force Landscape ориентация, Swift

+1

Вы можете реализовать соответствующий код метода 'supportedInterfaceOrientations' вашего контроллера вида. Также взгляните на связанные методы ориентации. –

ответ

1

Я работаю над подобным сценарием, я хочу, чтобы загрузить и сохранить свой первый ViewController в альбомной ориентации, позволяя подвиды переключаться при необходимости

Я думаю, что размещение

override func viewDidLoad() { 
    super.viewDidLoad() 
    let value = UIInterfaceOrientation.LandscapeLeft.rawValue 
    UIDevice.currentDevice().setValue(value, forKey: "orientation") 
} 

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

1

Вы должны добавить это в second viewcontroller (разработано, чтобы быть в альбомной ориентации) в viewDidLoad

на это в swift3:

let value = UIInterfaceOrientation.landscapeLeft.rawValue 
UIDevice.current.setValue(value, forKey: "orientation") 
UIViewController.attemptRotationToDeviceOrientation() 

Надеется, что это поможет :)