Storyboard References 學(xué)習(xí)

如果你曾經(jīng)使用 interface builder 創(chuàng)建過一個(gè)復(fù)雜、界面非常多的應(yīng)用,你就會(huì)明白最后那些Storyboards 文件變的有多大。他會(huì)迅速變的無法管理,阻礙你的進(jìn)度。自從引入 Storyboard 以來,其實(shí)是可以把你的應(yīng)用的不同模塊切開到不同的 Storyboard 中的。在過去,這要手動(dòng)創(chuàng)建多個(gè) Storyboard 文件,并且要寫大量的代碼。
為了解決這個(gè)問題,在 iOS 9 中蘋果介紹了 Storyboard References 這個(gè)概念。Storyboard References 允許你從 segue 中引用其他 storyboard 中的 viewController。這意味中你可以保持不同功能模塊化,同時(shí) Storyboard 的體積變小并易與管理。不僅容易理解了,和團(tuán)隊(duì)一起工作時(shí),合并(工作成果)也變的簡(jiǎn)單了。 --摘自

最初的Storyboard

如上圖,這是一個(gè)簡(jiǎn)單的Storyboard,正常的項(xiàng)目中如果使用的Storyboard的話,要遠(yuǎn)遠(yuǎn)比這個(gè)復(fù)雜的多.總共分三種方式(圖中的1 , 2 , 3),逐步深入學(xué)習(xí)使用Storyboard References.

方式1 簡(jiǎn)化 Storyboard

1-1 選中紅色區(qū)域(高亮顯示)


1-1

1-2 點(diǎn)擊 Xcode 的菜單欄,選擇"Editor->Refactor to Storyboard"


1-2

1-3 命名為FristSB.storyboard


1-3

1-4 點(diǎn)擊Save之后就能看到FristSB.storyboard創(chuàng)建成功,選中 FristStoryBoard,查看其屬性.


1-4

1-5 雙擊FristStoryBoard,進(jìn)入FristSB.storyboard.


1-5

Main.storyboard 中創(chuàng)建的 Storyboard References 的名字是由其 Referenced ID 這個(gè)標(biāo)識(shí)符決定的. 進(jìn)入 FristSB.storyboard 會(huì)發(fā)現(xiàn) Storyboard ID 與 標(biāo)識(shí)符相同.

方式2 簡(jiǎn)化 Storyboard

2-1 創(chuàng)建單獨(dú)的storyboard,命名為 SecondSB.storyboard

2-1-1
2-1-2

2-2 找到“Storyboard Reference”控件,拖拽一個(gè)到 Contacts Storyboard上來. 選取剛剛創(chuàng)建的SecondSB,并設(shè)置標(biāo)識(shí)符.


2-2

2-3 進(jìn)入 SecondSB.storyboard,在 Storyboard ID 設(shè)置相同的標(biāo)識(shí)符即可


2-3

方式二與方式一基本相同,只是創(chuàng)建方法是反向的.

方式3 跳轉(zhuǎn)任意的 ViewController

3-1 實(shí)現(xiàn) Item2 中點(diǎn)擊Button1-3 跳轉(zhuǎn) Item1 中的 1-3 界面(即圖1-1中的 箭頭3),拖拽 “Storyboard Reference”控件,選取 StoryBoard為 FristSB,設(shè)置標(biāo)識(shí)符.


3-1

3-2 進(jìn)入FristSB.storyboard 選中 1-3所在的控制器,設(shè)置 Storyboard ID


3-2

簡(jiǎn)化之后的Main.storyboard

簡(jiǎn)化之后的Main.storyboard

總結(jié): 若想實(shí)現(xiàn)任意跳轉(zhuǎn)(應(yīng)注意控制器的壓棧,出棧的關(guān)系),只需保證 Main.storyboard “Storyboard Reference”控件的 Referenced ID 單獨(dú)創(chuàng)建storyboard中控制器 的 Storyboard ID 相同即可.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容