在ipad下可以使用splitViewController
splitViewController下包含两个viewController
这是一种将屏幕一分为二的方式。
在水平状态下会出现成两个左右两个区域
我们通常称
左边的为master
右边的为detail
如何在master与detail之间交互呢?
当需要传递信息时,只要当前ViewController在splitViewController下
就可以使用
self.splitViewController.viewControllers 来获取存放splitViewController下的ViewController数组。
这个数组是使用nonatomic copy的每次更改controller需要重新赋值[可以忽视这句 没啥用的 你很少会用到]
这个数组只有2个对象
在0号位置的是master
在1号位置的是detail
所以通常使用lastObject
与firstObject来获取当前splitViewController下的master与detail
获取到相应的master,detail你就可以随便传输数据啦~~~。
=================
如何在竖屏幕下通过toolbar的按钮点击打开隐藏的master
首先,让你的一个strong或者说会长期存在master内的vc实现<splitViewControllerDeletage>
然后复写几个方法
1个是 是否隐藏。
一个是隐藏时XXX
一个是SHOW时XX
因为隐藏时候和show时都会返回一个 toolBarItem 对象.这个对象就是用来控制master显示的。
将这个对象传到detail里面 并设置到detail的toolbar上。
注意:在splitVc里面的detail的toolbar在水平状态下回被隐藏[前提:当前VC的view的一级子类的情况]
通常传递这个toolBarItem会使用委托的方法。让detail实现一个协议然后。通过splitvc 获取detail对象 执行方法把这个
toolBarItem 传过去到detail 并将其添加到detail toolbar上。
新闻热点
疑难解答