Контроллер дочернего представления будет вращаться, а контроллер родительского вида - нет

Что я пытаюсь сделать:

Родительское Представление, которым управляет Родительское Представление КонтроллерНЕ СЛЕДУЕТ ВРАЩАТЬ.

Дочернее представление, которым управляет Дочернее Представление КонтроллерДОЛЖЕН ВРАЩАТЬ для всех направлений.

Что я попробовал:

ParentViewController

override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
    return .Portrait
}

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

fun addChildViewController() {
    let storyBoard = UIStoryboard(name: "Main", bundle: nil)
    self.childViewController = storyBoard("Child View Controller") as? ChildViewController
    self .addChildViewController(self.childViewController!)
    self.childViewController! .didMoveToParentViewController(self)
    self.view .addSubview(self.childViewController!.view)
    self.childViewController!.view.frame = CGRectMake (40, 200, 400, 250)
}

ChildViewController

override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
    return  .All
}

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

Поддерживаемые ориентации в Информации Развертывания XCode установлены на все четыре.

Что я получаю:

Ни один из вида не вращается. Если я установлю вращение родителя для всех, все виды вращаются вместе. Так что все или ничего.

ОБНОВИТЬ

Когда я пытаюсь поставить наблюдателя дляUIDeviceOrientationDidChangeNotification и использовать UIDevice.currentDevice (). ориентацию для поворотаchildView используя CGAffaineTransformMakeRotate, я получаю желаемые результаты. ОДНАКО, то есть, если я поворачиваюсь в альбомную ориентацию и пытаюсь развернуть центр уведомлений (или если я получаю системное уведомление), который все еще находится в книжной ориентации (поскольку приложение по-прежнему остается в книжной ориентации), повернутыйchildView поворачивается назад к портрету, чтобы соблюдать статусную строку / уведомления / центр уведомлений.

Сток iOS приложение для камеры это лучший пример, который я могу представить. Основное полотно не поворачивается в разные ориентации, однако строка состояния за кулисами вращается в соответствии с вращением устройства. Также подпредставления вращаются внутри самих себя, чтобы соблюдать разные ориентации. Я пытаюсь добиться такого поведения ....

Ответы на вопрос(3)

Ваш ответ на вопрос