今天有空看了下iOS9 Storyboard的新特性幕侠,Xcode7給storyboard帶來了以下特性:
1. 分解一個(gè)單一的storyboard成多個(gè)storyboard,并通過 storyboard references 連接他們。
2. 通過 scene dock 給ViewController附加view暇检。
3. 在storyboard上給 navigation bar添加多個(gè)button .
初始項(xiàng)目款熬,在 Main.storyboard
中有一個(gè) TabBarViewController
,它包含兩個(gè)HomeViewController
和UserViewController
深寥。
HomeViewController
是一個(gè)tableviewcontroller,點(diǎn)擊cell進(jìn)入DetailViewController
。UserViewcontroller是一個(gè)簡單的ViewController贤牛。
Main.storyboard和項(xiàng)目目錄如下圖:
項(xiàng)目中還有一個(gè)未使用的DiscoverStoryboard.storyboard 翩迈,在這個(gè)storyboard中只有一個(gè)簡單的Controller,稍后我們會(huì)用到盔夜。
運(yùn)行項(xiàng)目效果如下:
今天我們先看一下它的第一個(gè)特性,
storyboard
的分解和引用 (storyboard references
)。用
storyboard
做過開發(fā)的猿都知道喂链,storyboard
會(huì)慢慢的變得越來越臃腫返十;還有一個(gè)”致命“的弱點(diǎn)就是使用
Git
進(jìn)行多人開發(fā)的時(shí)候經(jīng)常造成沖突,讓我們猿們無法忍受只想摔鍵盤巴治ⅰ洞坑!即使我們可以使用多個(gè)
storyboard
來解決但也無法實(shí)現(xiàn)使用segue
從一個(gè)storyboard
中的viewcontroller
push到另一個(gè)storyboard
中的controller
。在Xcode7中這些問題通過
storyboard references
都得到了很好的解決 蝇率。
一迟杂、創(chuàng)建一個(gè)Storyboard引用
打開Main.stroyboard選中HomeController對應(yīng)的三個(gè)controller如下圖,然后點(diǎn)擊菜單欄【Editor】選項(xiàng)中的【Refactor to storyboard…】按鈕
在彈出框中給新的storyboard起個(gè)新的名字Home.storyboard:
保存后本慕,你會(huì)發(fā)現(xiàn)目錄中多了一個(gè)Home.storybaord排拷。打開原來的Main.storyboard你會(huì)發(fā)現(xiàn)原理的Homecontroller變成了一個(gè)storyboard references。選中這個(gè)storyboard references 在右側(cè)Attributes Inspector中顯示如下圖:
打開原來的的
Main.storyboard
如下圖锅尘,到此分解單個(gè)storyboard
稱多個(gè)storyboard
就完成了监氢,就這么簡單。二藤违、在團(tuán)隊(duì)開發(fā)中使用Storyboard
storyboard references
還有另外一種使用情況浪腐,當(dāng)我們開發(fā)多個(gè)功能模塊時(shí)可能會(huì)出現(xiàn),不同的人在自己的storyboard中開發(fā)然后通過storyboard references 把不同的功能模塊連接起來顿乒。在上邊說過我們有一個(gè)DiscoverStoryboard.storyboard 還沒有用到,如何快速的把第三個(gè)功能模塊合進(jìn)來璧榄?
首先打開Main.storyboard
從 Object Library
中托出一個(gè)storyboard references
到User Interface
中特漩,
然后按住鍵盤
control
鍵,點(diǎn)擊鼠標(biāo)左鍵從TabBarController
拖拽到 storyboard reference
,在彈出框中選擇 view controllers
如下圖:選中
storyboard reference
打開右側(cè)Attributes Inspector
設(shè)置storyboard
為 DiscoverStoryboard.storyboard
。好了到此添加一個(gè)已存在的storyboard成功摸吠。運(yùn)行項(xiàng)目如下圖所示:
*** 原文鏈接:http://lvesli.com/2016/05/24/iOS9-Storyboard%E6%96%B0%E7%89%B9%E6%80%A7%E4%B9%8BStoryboard-References/ ***
本博客也會(huì)在 *** lecoding *** 微信公眾號中同步更新,歡迎大家訂閱献烦,有什么問題可以在此一起交流滓窍。公眾號搜索:*** 樂Coding *** 或者 *** lecoding *** 或者微信掃描下方二維碼: