分割视图控制器(UISplitViewController)
這種控制器只能用于iPad,它可以在iPad屏幕中顯示兩個(gè)不同的場(chǎng)景:在橫向模式下,左邊顯示一個(gè)表,供用戶選擇;用戶選擇表中的元素后,詳細(xì)視圖將顯示該元素的詳細(xì)信息。如果iPad被旋轉(zhuǎn)到縱向模式,表將消失,而詳細(xì)視圖將填滿整個(gè)屏幕;要進(jìn)行導(dǎo)航,用戶可觸摸一個(gè)工具欄按鈕,這將顯示一個(gè)包含表的彈出框。
默認(rèn)情況下,UISplitViewController的一端連接到一個(gè)受導(dǎo)航控制器(UINavigationController)管理的表視圖(UITableViewController),這代表主場(chǎng)景;另一端連接到一個(gè)普通視圖控制器(UIViewController),這代表詳細(xì)場(chǎng)景。
可以將主場(chǎng)景和詳細(xì)場(chǎng)景替換為新的控制器,只需要?jiǎng)h除默認(rèn)的控制器,然后按住Control鍵,并從分割視圖控制器對(duì)象拖曳到新的主場(chǎng)景或詳細(xì)場(chǎng)景,再在Xcode提示時(shí)選擇Relationship - masterViewController或Relationship - detailViewController。
主場(chǎng)景和詳細(xì)場(chǎng)景可以通過分割視圖控制器互相訪問,屬性splitViewController包含一個(gè)名為viewControllers的數(shù)組。通過使用NSArray的方法lastObject,可獲取該數(shù)組的最后一個(gè)元素(詳細(xì)信息視圖)。通過調(diào)用方法objectAtIndex,并將索引0傳遞給它,可獲取該數(shù)組的第一個(gè)元素(主視圖)。這樣,兩個(gè)視圖控制器就可交換信息了。
主視圖控制器可使用如下代碼獲取詳細(xì)視圖控制器:
[self.splitViewController.viewControllers lastObject]而詳細(xì)視圖控制器可使用如下代碼獲取主視圖控制器:
[self.splitViewController.viewControllers objectAtIndex:0]P.s: 在豎屏下要顯示(包含表的彈出框)工具欄按鈕,需要一些代碼修改,留待有時(shí)間回頭研究。搜索"UISplitViewController"關(guān)鍵字可以得到一些示例頁(yè)面。
轉(zhuǎn)載于:https://www.cnblogs.com/CoderWayne/p/3596814.html
總結(jié)
以上是生活随笔為你收集整理的分割视图控制器(UISplitViewController)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DEDE 字符串操作常见问题
- 下一篇: poj1781In Danger(约瑟夫