不同的视图支持不同的方向

Posted

技术标签:

【中文标题】不同的视图支持不同的方向【英文标题】:Different view supporting different orientation 【发布时间】:2012-11-14 10:44:58 【问题描述】:

是否有可能,在一个视图控制器中,一个视图支持方向而有些不支持。我的意思是假设我有一个 MainViewController 包含两个 UIView 说 FirstView 和 SecondView。一次只有一个视图可见。假设第一个视图支持两种方向,而第二个视图仅支持纵向。当我在设备方向为横向时启动第二个视图时,它应该以纵向而不是横向模式启动。但我的问题是它仅在横向模式下启动。如果可能的话,我该如何能做到吗?

提前致谢!

【问题讨论】:

【参考方案1】:

是 UIViewControllers 指示是否支持方向;这不是 UIViews 的工作。

此外,Apple 的视图控制器框架假定特定视图控制器不会改变其在其生命周期内支持哪些方向的想法。

因此,如果您有两个支持不同方向的视图,则它们需要位于不同的视图控制器中。如果可能,您需要朝这个方向设计您的应用。

ios6 中添加了对 UIViewController 包含的支持;也就是说,您可以拥有一个 UIViewController,它是一个“容器”控制器,可以在其内部呈现一个或多个不同的 UIViewController 视图。我不能 100% 确定这个容器如何处理子视图控制器的方向变化,但值得了解。

【讨论】:

以上是关于不同的视图支持不同的方向的主要内容,如果未能解决你的问题,请参考以下文章

允许不同的导航控制器视图有不同的方向规则

iPhone sdk如何使用分段控件显示的两个不同视图设置视图方向

如何使用不同大小和方向的图像创建水平滚动视图?

在 xib 文件视图之外设置视图以适应滚动视图 + 不同的 xib 用于方向 - iOs

UIPageViewController:如何处理视图控制器的不同方向?

如何在大小不同的主视图中增加两个图像视图的宽度,并在改变它们的方向时获得宽度变化