适用于iPad的纵向和横向模式的不同Xib

时间:2012-01-06 11:07:37

标签: objective-c ipad

我怀疑使用2个XIb来改变Ipad的方向。这是正确的做法吗?对于Ipad在纵向模式下我有一个设计和横向模式我有不同的设计(很少类似于肖像,但无法纵向调整)。我可以在编程中做任何事情,或者在使用2 Xib时做得很好,使用2个Xib时应该面对哪些复杂问题?

3 个答案:

答案 0 :(得分:8)

如果你问是否使用两个NIB作为你的方向是标准做法,那么答案是否定的。

如果您的横向和纵向用户界面根本不同那么这将是一种更可接受的方法。但你可以轻松地使用一个内部有两个视图的NIB(一个用于横向,一个用于纵向)。

Apple提出的可接受的设计模式是您的视图控制器管理横向和纵向方向,并调整其视图(使用自动调整遮罩,并同时挂钩旋转时触发的各种委托方法以添加/删除/动画视图)或用其他东西替换视图。

如果您的横向/纵向视图非常不同,我建议您使用单个NIB,其中包含两个视图(一个用于横向,一个用于纵向),并在检测到旋转时在视图控制器中添加/删除这两个视图。

<标准练习'总是很难定义,也许有些人会不同意我,但我当然没有看到任何使用两个NIB进行横向/纵向定位的应用程序,我还没有看到任何苹果示例代码也是如此。希望这有帮助!

答案 1 :(得分:3)

这取决于编程实现的复杂性。如果需要更换按钮,则应以编程方式更改框架。如果设计在纵向和横向模式下有所不同,那么您应该使用2个xib文件。

使用2 xib,很难将信息从一个xib传输到另一个xib。例如。如果xib有文本字段,你应该在其中复制文本并放入第二个xib等等。

答案 2 :(得分:2)

您可以使用相同的XIB,但有两个不同的视图,一个用于纵向,一个用于横向。在“didRotateFromInterfaceOrientation:”中,根据方向切换视图。检查以下链接,了解如何完成:

http://www.theappcodeblog.com/2011/03/30/orientation-change-tutorial-change-the-view-when-the-orientation-changes/