【发布时间】:2016-10-14 13:52:26
【问题描述】:
我有一个 UINavigationControllers 数组,我想从中显示自定义侧菜单控制器。一切正常,但是当我将设备方向更改为横向,然后从先前呈现为纵向的数组中呈现 UINavigationController 时,它不会旋转它只会显示在屏幕外......有没有办法在显示之前纠正 UINavigationControllers 方向?
我是这样介绍它们的:
func presentNavigationViewController(_ navigationViewController: UINavigationController) {
//// removing old centerNavigationController
self.centerNavigationController?.view.removeFromSuperview()
self.centerNavigationController?.view.removeGestureRecognizer(panGestureRecognizer)
self.centerNavigationController?.removeFromParentViewController()
self.centerNavigationController = navigationViewController
//// corecting view position based on status of side menu
switch self.currentState {
case .Expanded:
self.centerNavigationController.view.frame.origin.x = centerNavigationController.view.frame.width - ContainerViewController.centerPanelExpandedOffset
case .Collapsed:
self.centerNavigationController.view.frame.origin.x = 0
}
//// and presenting
self.view.addSubview(centerNavigationController.view)
self.addChildViewController(centerNavigationController)
self.centerNavigationController.didMove(toParentViewController: self)
self.centerNavigationController.view.addGestureRecognizer(panGestureRecognizer)
}
【问题讨论】:
-
如何展示阵列中的控制器?
-
我在问题中添加了一些实现细节。
标签: ios swift uinavigationcontroller