在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上。
新聞熱點
疑難解答