这种控制器只能用于iPad,它可以在iPad屏幕中显示两个不同的场景:在横向模式下,左边显示一个表,供用户选择;用户选择表中的元素后,详细视图将显示该元素的详细信息。如果iPad被旋转到纵向模式,表将消失,而详细视图将填满整个屏幕;要进行导航,用户可触摸一个工具栏按钮,这将显示一个包含表的弹出框。

默认情况下,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"关键字可以得到一些示例页面。

转载于:https://www.cnblogs.com/CoderWayne/p/3596814.html

分割视图控制器(UISplitViewController)相关推荐

  1. (0061)iOS开发之iPad开发:UISplitViewController分割视图控制器

    //分割试图控制器 左侧默认320宽度 右侧self.view.frame.size-320 @property (strong,nonatomic)UISplitViewController *sp ...

  2. ios在判断设备是ipad_Swift - 判断设备类型开发兼容的iOS应用(iPad使用分隔视图控制器)...

    1.分割视图控制器(UISplitViewController) 在iPhone应用中,使用导航控制器由上一层界面进入下一层界面. 但iPad屏幕较大,通常使用SplitViewController来 ...

  3. ipad UISplitViewController 导航视图控制器标题设置

    描述:在使用UISplitViewController时 ,如何修改导航视图控制器的标题呢?如图 修改方法:在导航视图控制器 初始化时,设置导航视图控制器本身的title,比如:self.title ...

  4. iOS14+Swift5.x+Xcode12学习笔记(5)——视图控制器(UIViewController)

    视图控制器 简介 UIViewController 导航控制器(UINavigationController) 表格控制器(UITableViewController) 集合控制器(UICollect ...

  5. [转]iOS 视图控制器转场详解

    转自:http://blog.devtang.com/2016/03/13/iOS-transition-guide/ 前言 屏幕左边缘右滑返回,TabBar 滑动切换,你是否喜欢并十分依赖这两个操作 ...

  6. php配置控制器和视图位置,视图控制器

    视图控制器 视图控制器是连接控制器和模板的桥梁, 更是对模板的强大扩展 基本用法 视图控制器文件夹位于 app\web\views 目录下, 视图控制器的名称是和控制器的名称相对应的, 并在结尾加上V ...

  7. 一劳永逸,iOS 网页视图控制器通用类封装

    原文链接:http://www.jianshu.com/p/553424763585 随着 H5 的发展,在 iOS 开发中,网页视图的使用率逐渐提升,为了增加代码封装度.减轻开发负担,因此通常会对网 ...

  8. iOS-UIViewController视图控制器跳转界面的几种常用方法

    一.最普通的视图控制器UIViewContoller 一个普通的视图控制器一般只有模态跳转的功能(ipad我不了解除外,这里只说iPhone),这个方法是所有视图控制器对象都可以用的,而实现这种功能, ...

  9. iOS翻页视图控制器UIPageViewController的应用

    2019独角兽企业重金招聘Python工程师标准>>> iOS翻页视图控制器UIPageViewController的应用 一.引言 UIPageViewController是iOS ...

最新文章

  1. linux chmod和fchmod设置 文件和目录权限设置
  2. 字符串基本操作 c语言,数据结构C语言字符串的基本操作.doc
  3. 问题记录:如何比较两个字符串的相似度
  4. python散点矩阵图_用python-pandas作图矩阵
  5. 【转】Castle Windsor之组件注册
  6. face alignment by 3000 fps系列学习总结(三)
  7. OpenStack精华问答 | OpenStack是操作系统?
  8. [BZOJ 1047]理想的正方形
  9. java外卖系统源码_JAVAWEB校园订餐系统项目源码 一个外卖点餐系统 - 下载 - 搜珍网...
  10. 能在手机播放的Flash代码
  11. 如何获取Java用户输入?
  12. pyboard :红外遥控模块,class UART
  13. Word2010怎么绘制斜线表头
  14. 银行卡Bin和Logo
  15. 联想笔记本重装windows10系统
  16. 都说程序员越老越“不值钱”,想避免未来也“被优化”,怎么办?
  17. dpdk:vfio-pci模式下iommu(N+Y)-Huge配置-numa配置
  18. 数据科学的原理与技巧 五、探索性数据分析
  19. Java中如何创建自定义的注解学习笔记(MD版)
  20. 森笔记app软件 开发记录

热门文章

  1. layuiAdmin打开新窗口、新标签页
  2. 【spring boot】支持webjars
  3. 怎么用cmd关闭系统弹窗_SD卡受损怎么修复?教你一招三步搞定
  4. 循环结果添加到集合_Java Note-数据结构(4)集合
  5. java交换integer_Java比较和交换语义和性能
  6. python数据库self函数_Python常用功能函数系列总结(四)之数据库操作
  7. python删除链表中重复的节点_Java编程删除链表中重复的节点问题解决思路及源码分享...
  8. kafka生产者和消费者端的数据不一致
  9. CENTOS7错误:Cannot find a valid baseurl for repo: base/7/x86_6
  10. 四十二、ETL工具Kettle的转换步骤