iPad横屏和竖屏模式需要不同的Xib文件

5

我有一些疑问,关于在iPad上使用2个Xib文件来为一个类在不同的方向上进行设计更改。这样做是否是正确的做法?在iPad的纵向模式下,我有一个设计,在横向模式下,我有另一个设计(与纵向模式有点相似,但无法在纵向模式下进行调整)。我能否在编程中完成所有事情或者使用2个Xib文件是可以的,使用2个Xib文件会带来哪些复杂性或问题?

3个回答

8
如果你想知道在UI方面为两个方向使用两个NIB是否是标准做法,那么答案是否定的。如果你的横屏和竖屏UI有很大的不同,那么这种做法可能更合适。但是你也可以很容易地只使用一个NIB,在其中放入两个视图(一个用于横屏,一个用于竖屏)。
苹果提出的被广泛接受的设计模式是你的视图控制器管理横屏和竖屏两种方向,并通过自动调整大小的掩码以及连接各种委托方法来调整其视图的大小或替换视图。
如果你的横屏/竖屏视图非常不同,我建议你使用一个NIB,在其中放入两个视图(一个用于横屏,一个用于竖屏),并在检测到旋转时在你的视图控制器中添加/删除这两个视图。
“标准做法”总是很难定义,也许有些人会不同意我的看法,但我肯定没有见过任何使用两个NIB来处理横屏/竖屏方向的应用程序,也没有见过苹果的示例代码这样做。希望这能帮助你!

3

这取决于编程实现的复杂性。如果你需要更换按钮,那么你应该在程序中进行框架更改。如果竖屏和横屏模式下的设计不同,则应使用两个xib文件。

使用两个xib文件时,很难从一个xib文件中传输信息到另一个文件。例如,如果xib文件中有文本字段,您需要将其中的文本复制并放入第二个xib文件中等。


感谢大家提供的建议!!在一个nib文件中使用两个视图是很好的选择,我会采用这种方法。 - gopal

2

我已经说过,在XIB中每个控制器都需要两个对象,就像在上面链接中提供的示例一样。现在想象一下,如果控制器有许多按钮和其他控制器,那么逻辑上这种集成方式是不好的,这就是为什么我说这样做不好。 - Crazy Developer
只需制作一个示例,在该视图上有五个文本字段和五个标签,并检查您将如何以此方式管理它。您会明白我想告诉您什么。 - Crazy Developer
@疯狂开发者..这取决于你想要实现什么..如果只有5个文本字段和5个按钮,那么我宁愿在同一个视图中随着每次旋转移动它们。根据问题,他明确提到横屏和纵屏的设计有很大的不同。答案是针对这里提出的问题提供的。我已经编写了两种方式,了解其中涉及的困难。 - Shanti K
@ShantiK K,链接不可用 :( - SARATH SASI
@Shanti K:链接不可用 :( - SARATH SASI
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接