如何让iPad横屏在横屏时显示两个View,竖屏时只显示MasterView

同样,究竟在什么时候显示拆分视图的逻辑苹果都会处理。

让我们来看看更多的细节:

主视图控制器通常是包含列表视图(在大多数情况下是一个 UITableView)的导航控制器。详细信息视图控制器则是显示用户点击列表某项时对应的导航控制器视图。

还有最后一个部分让拆分视图控制器真正工作:指定 "Show Detail" segue:

在这一点上,你可能想知道为什么主视图控制器和详细信息视图控制器都必须是导航控制器,特别是当有一个 "Show Detail" segue 从表格视图(这是导航堆栈的一部分)连接到详细信息视图控制器。如果详细视图控制器一开始不带导航控制器呢?

大体来看,应用程序仍然会工作得很好。在 iPhone 6+ 上,唯一的区别是当手机在横向模式下会没有导航工具栏:

这不是什么大不了的事,除非你想让你的导航栏显示一个标题。但在 iPad 上这最终会是致命的弱点。

请注意,当 iPad 应用程序第一次打开的时候,没有任何迹象表明这是一个拆分视图控制器!触发主视图控制器,用户必须奇迹般的知道要去向右滑动。

即使有导航控制器,在刚开始的时候用户界面也没有好太多(虽然能看到一个标题绝对是一个改进):

要解决这个问题,最简单的方法是在某种程度上表明应用程序的当前屏幕上有更多的内容。幸运的是,UISplitViewController 有一个 displayModeButtonItem,可以被添加到导航栏:

编译并重新在 iPad 上运行,现在用户就看到很好的指示,显示如何显示应用程序的其余部分:

通过使用 displayModeButtonItem,你再次让苹果来决定在不同屏幕尺寸、旋转下怎样做最合适。而不是自己辛苦的做这些小事,就可以高枕无忧了。

当用户第一次启动应用程序的时候,在用户选择一个列表项前,都可以让主视图控制器完全显示:


鉴于现在作为 iOS 开发者,我们不得不处理新的不同的设备尺寸,UISplitViewController 很快就会成为我们新的好朋友!

新公司,新气象。沉寂了一个月,开始做ipad项目,说起ipad,刚开始心里还有点鼓捣。毕竟之前一直做得是iphone项目,ipad项目没有真正做过,只是在实习的时候做个一个点菜系统。而且还是参与。

下面我们上代码,Appdelegate.h的代码如下:

详情界面可以根据自己的需求随意写,只要做好点击列表的cell时切换不同的内容就ok了。

我要回帖

更多关于 iPad横屏 的文章

 

随机推荐