iOS推荐的处理纵向和横向界面的方法

时间:2013-02-24 12:21:18

标签: ios uiinterfaceorientation layoutsubviews

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

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

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

2)开头的iPhone开发书我使用了一个带有多个UIView的xib文件(一个用于肖像,一个用于横向),在willAnimateRotationToInterfaceOrientation()方法中交换视图。

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

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

现在用纯粹的代码编写了许多应用程序后,我很欣赏为什么有Interface Builder - 来帮助管理界面等等,理想情况下,视图控制器应该只用于管理数据并将其发送到视图,不管理观点的外观。

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

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

使用layoutSubviews()真的要走了吗?

我真的没有看到它比其他方法有任何好处。有人说layoutSubviews允许您设置过渡到另一个方向的动画。

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

修改

可能是一个重复的问题:

Handle iPhone orientation Landscape/Portrait

iPad/iPhone multiple orientations best practice?

如果需要,主持人可以关闭。

0 个答案:

没有答案