標籤:
如果App中包括很多不同的頁面,使用Storyboard可以幫你減少實現頁面間跳轉的膠合代碼。過去的開發人員對應每個視圖控制器分別建立介面設計檔案(即“nib”或“xib”檔案),現在,只要一個Storyboard就可以包攬所有視圖控制器的介面設計和他們之間的關聯。
Storyboard有很多優點:
使用Storyboard可以更好地瞭解App中所有的視圖以及它們之間的關聯的概況。掌控全域更加容易,因為所有的設計都包含在一個檔案中,而不是分散在很多單獨的nib檔案中。
Storyboard可以描述不同視圖之間的過渡,這種過渡叫做“segue”(譯註:意為“轉場”,而“Storyboard”原意為“分鏡”,均源自電影術語),你可以直接在Storyboard中通過串連不同的視圖控制器來建立轉場。多虧有了轉場,打理介面的代碼比以前要少了。
Storyboard通過新的原型表項(prototype cell)和靜態表項(static cell)特性,讓處理表視圖(table view)的工作更加輕鬆。幾乎完全可以在Storyboard編輯器裡搞定表視圖的設計,同樣也減少了代碼量。
Storyboard使自動布局(Auto Layout)更易用。自動布局功能可以讓你通過介面元素之間的數學關係定義來確定元素的位置和尺寸,極大簡化了不同尺寸螢幕的適配工作。自動布局不在本教程範圍之內,若想瞭解更多,請參閱自動布局入門。
如果你非常討厭Interface Builder,或者推崇用代碼搞定所有介面的話,Storyboard可能不適合你。個人主張是代碼能少寫就少寫,特別是UI代碼,所以Storyboard簡直就是為我準備的一把利器。
如果你想繼續使用nib,那就繼續用吧,要知道Storyboard裡是可以使用nib的,兩者並非互斥關係。
:
1、開啟Xcode,建立新項目,語言選擇swift。
2、在當前Storyboard的 File inspector(檔案檢查器) 中禁用Auto Layout和Size Classes。
3、在Main.storyboard 中把原先的視圖控制器刪掉。
4、把一個 Tab Bar Controller(分頁欄控制器) 從物件程式庫拖到面板中。點擊空白地區可以放大縮小視圖。
5、運行。這時會發現報錯。
Failed to instantiate the default view controller for UIMainStoryboardFile ‘Main‘ - perhaps the designated entry point is not set?
未設定入口,也就是剛才刪除最先使用的那個情境之後沒設定初始視圖控制器。為解決問題,選中這個分頁欄控制器,然後在 Attributes Inspector(屬性偵測器) 中選定 Is Initial View Controller 。
6、再次運行ok了。
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
Swift開發--Storyboard的使用教程