分割视图控制器(UISplitViewController)
2014-03-12 17:28
453 查看
这种控制器只能用于iPad,它可以在iPad屏幕中显示两个不同的场景:在横向模式下,左边显示一个表,供用户选择;用户选择表中的元素后,详细视图将显示该元素的详细信息。如果iPad被旋转到纵向模式,表将消失,而详细视图将填满整个屏幕;要进行导航,用户可触摸一个工具栏按钮,这将显示一个包含表的弹出框。
默认情况下,UISplitViewController的一端连接到一个受导航控制器(UINavigationController)管理的表视图(UITableViewController),这代表主场景;另一端连接到一个普通视图控制器(UIViewController),这代表详细场景。
可以将主场景和详细场景替换为新的控制器,只需要删除默认的控制器,然后按住Control键,并从分割视图控制器对象拖曳到新的主场景或详细场景,再在Xcode提示时选择Relationship - masterViewController或Relationship - detailViewController。
主场景和详细场景可以通过分割视图控制器互相访问,属性splitViewController包含一个名为viewControllers的数组。通过使用NSArray的方法lastObject,可获取该数组的最后一个元素(详细信息视图)。通过调用方法objectAtIndex,并将索引0传递给它,可获取该数组的第一个元素(主视图)。这样,两个视图控制器就可交换信息了。
主视图控制器可使用如下代码获取详细视图控制器:
而详细视图控制器可使用如下代码获取主视图控制器:
P.s: 在竖屏下要显示(包含表的弹出框)工具栏按钮,需要一些代码修改,留待有时间回头研究。搜索"UISplitViewController"关键字可以得到一些示例页面。
默认情况下,UISplitViewController的一端连接到一个受导航控制器(UINavigationController)管理的表视图(UITableViewController),这代表主场景;另一端连接到一个普通视图控制器(UIViewController),这代表详细场景。
可以将主场景和详细场景替换为新的控制器,只需要删除默认的控制器,然后按住Control键,并从分割视图控制器对象拖曳到新的主场景或详细场景,再在Xcode提示时选择Relationship - masterViewController或Relationship - detailViewController。
主场景和详细场景可以通过分割视图控制器互相访问,属性splitViewController包含一个名为viewControllers的数组。通过使用NSArray的方法lastObject,可获取该数组的最后一个元素(详细信息视图)。通过调用方法objectAtIndex,并将索引0传递给它,可获取该数组的第一个元素(主视图)。这样,两个视图控制器就可交换信息了。
主视图控制器可使用如下代码获取详细视图控制器:
[self.splitViewController.viewControllers lastObject]
而详细视图控制器可使用如下代码获取主视图控制器:
[self.splitViewController.viewControllers objectAtIndex:0]
P.s: 在竖屏下要显示(包含表的弹出框)工具栏按钮,需要一些代码修改,留待有时间回头研究。搜索"UISplitViewController"关键字可以得到一些示例页面。
相关文章推荐
- 分割视图控制器(UISplitViewController)
- 分割视图控制器(UISplitViewController)
- UISplitViewController 分割视图控制器,自定义左右视图控制器视图大小
- UISplitViewController - 分割视图控制器
- iOS 6编程--分割视图控制器(UISplitViewController)和Master-Detail Application模板
- 分割视图控制器(UISplitViewController)
- UISplitViewController - iPad分屏视图控制器
- ipad UISplitViewController 导航视图控制器标题设置
- UISplitViewController - iPad分屏视图控制器
- iOS:分割控制器UISplitViewcontroller
- 【IOS】分隔视图控制器 (UISplitViewController)
- 【iOS开发-107】UISplitViewController:如何取得master和detail控制器,核心在于如何运用代理
- UISplitViewController 分屏控制器
- UI_UIViewController视图控制器_推出新视图presentViewController(模态推出)
- ios-使用iPad专用API(UISplitViewController)控制器
- IOS UISplitViewController之 解决 密码框添加之后 调用子视图的转向方法之时 对象为空
- UISplitViewController在Portrait时也为分割窗口
- IPAD之分割视图 SplitViewController
- IOS控件之分隔条控制器UISplitViewController
- UISplitViewController-分割控件自定义分割宽度是无法实现的