【发布时间】:2012-07-23 23:00:30
【问题描述】:
现在设计多向 iPad 应用的正确方法是什么?我已经阅读了很多 Apple 文档、网络资源和一些 SO Q&A。以下是我的初步要求:
- 这必须适用于 iOS 5 及更高版本。无需创建与 iOS 早期版本的向后兼容性。
- 如果可能的话,我希望在不同的 NIB 文件中定义纵向和横向 UI。
- 对于不同方向的相同 UI 元素,我的 NIB 文件会有不同的图像(例如,我将有
header.png和header-landscape.pngUIImageView。 - 应用将有多个屏幕,我需要能够在每个屏幕上切换方向。
那我该怎么办?
- 为每个屏幕创建一个 VC 并替换
willRotate处理程序中的底层视图? - 每个方向创建一个 VC?但是,您如何正确切换它们呢?
- 简单地重新排列元素是行不通的(我认为),因为我必须重新加载图像。
- 用代码编写所有内容(我真的很讨厌这个想法)?
截至今天,解决此问题的正确方法是什么?
【问题讨论】:
-
您可以使用嵌套的视图控制器来解决“每个方向一个 VC”的问题。
-
您已经描述了一种可能的解决方案是“每个方向一个 VC”,并且您还提到了正确切换它们时可能出现的问题。好吧,简单的解决方案是使用自 iOS5 以来可用的嵌套 viewController - speakerdeck.com/u/peterfriese/p/…
-
所以基本上创建一个控制器容器并将所有视图控制器(每个屏幕每个方向一个)并在容器内的这些控制器之间切换?
标签: iphone objective-c ipad interface-builder orientation