Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS推荐的处理纵向和横向界面的方法_Ios_Uiinterfaceorientation_Layoutsubviews - Fatal编程技术网

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

iOS推荐的处理纵向和横向界面的方法,ios,uiinterfaceorientation,layoutsubviews,Ios,Uiinterfaceorientation,Layoutsubviews,我正在开发一款iPad应用程序,希望同时支持portait和横向定位 目前,我看到了三种处理定向的方法: 1) Apple建议使用两个视图控制器() 2) 我刚开始的iPhone开发书使用了一个包含多个UIView的xib文件(一个用于纵向,一个用于横向),在willAnimateRotationInterfaceOrientation()方法中交换视图 3) 其他人则表示,“正确”的方法是使用LayoutSubView和自动调整大小掩码 以前,当我构建应用程序时,我会完全用代码编写整个应用程序

我正在开发一款iPad应用程序,希望同时支持portait和横向定位

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

1) Apple建议使用两个视图控制器()

2) 我刚开始的iPhone开发书使用了一个包含多个UIView的xib文件(一个用于纵向,一个用于横向),在willAnimateRotationInterfaceOrientation()方法中交换视图

3) 其他人则表示,“正确”的方法是使用LayoutSubView和自动调整大小掩码

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

现在,在用纯代码编写了许多应用程序之后,我有点理解为什么会有界面生成器——为了帮助管理界面,更重要的是,理想情况下,视图控制器应该只用于管理数据并将其发送到视图,而不是管理视图的外观

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

但是,如果我要使用layoutSubview,那就意味着我必须回到使用代码编写和管理接口上来,这对我来说似乎并不正确

使用layoutSubviews()真的是一种方法吗

我真的看不出它比其他方法有什么好处。有人说LayoutSubview允许您设置过渡到其他方向的动画

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

编辑 可能是一个重复的问题:

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

注意:苹果删除了#1下的链接。。。(这是一篇非常好的文章!)