3

我正在开发一个 iPad 应用程序,并希望同时支持纵向和横向。

目前,我看到了三种处理方向的方法:

1) Apple 建议使用两个视图控制器 ( http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/RespondingtoDeviceOrientationChanges/RespondingtoDeviceOrientationChanges.html )

2) 我的 iPhone Dev 入门书使用带有多个 UIView 的单个 xib 文件(一个用于纵向,一个用于横向),在 willAnimateRotationToInterfaceOrientation() 方法中交换视图。

3)其他人说“正确”的方法是使用 layoutSubviews 和自动调整掩码。

以前,当我构建一个应用程序时,我会纯粹用代码编写整个应用程序,包括界面设置和布局。结果是我最终得到了大量且非常痛苦的界面代码调整。

现在,在用纯代码编写了许多应用程序之后,我有点理解为什么会有 Interface Builder - 为了帮助管理界面等等,理想情况下,视图控制器应该只用于管理数据并将其发送到视图,而不是管理如何意见应该看。

使用 Interface Builder,拥有两个单独的自定义 UIView 是有意义的,一个用于纵向,一个用于横向,但我被告知 layoutSubview 是更好的选择。

但是如果我要使用 layoutSubview,那意味着我必须回到使用代码来编写和管理我的界面,这对我来说似乎不合适。

使用 layoutSubviews() 真的可行吗?

我真的看不出它比其他方法有什么好处。有人说 layoutSubviews 允许你动画到另一个方向的过渡。

当设备旋转时,我的两个界面不是简单的调整大小按钮或文本宽度。我在文本字段旁边有相邻的滑块,当旋转到横向时应该垂直堆叠,而其他滑块需要移动到屏幕的另一侧等。

编辑

可能是重复的问题:

处理 iPhone 方向横向/纵向

iPad/iPhone 多方向最佳实践?

如果需要,版主可以关闭。

4

0 回答 0