我想做什么:
由父视图控制器管理的父视图不应该旋转.
由子视图控制器管理的子视图应该旋转到所有方向.
我试过的:
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部署信息中支持的方向设置为全部四个.
我得到了什么:
没有View的旋转.如果我将父级的旋转设置为all,则所有视图一起旋转.所以它是全有或全无. …
xcode uiviewcontroller landscape-portrait childviewcontroller swift
我有两个视图控制器.一个是根VC,包含UI界面,如记录按钮.在此视图控制器上,我还显示索引0处的另一个VC的视图.此视图包含AVCaptureVideoPreviewLayer.
我希望我的摄像机模仿苹果摄像机应用程序,界面布局随旋转调整,但视频预览层不会.您可以看到视频应用程序中的录制计时器(UILabel)如何消失,并根据方向重新出现在顶部.
知道怎么做吗?我发现了一个建议,建议将预览添加到app delegate的窗口,因为它不符合导航控制器的旋转,但它对我不起作用.
谢谢!