Storyboard

1. StoryBoard到底是什麼東西?

這裏寫圖片描述
如上圖所示,就是我們一直在說的Storyboard,創建項目的時候選擇Single View Application
這裏寫圖片描述
模板,我們就可以默認得到一個控制器類ViewController.h/.m和一個Main.storyboard文件,Main.storyboard文件就是的故事板(Storyboard),在這裏可以操作我們的幾乎所有的控制器。

Storyboard中存在的不僅僅是View那麼簡單的概念,而是放置了一個ViewController的概念。也就是說,我們在可視化頁面中,除了可以在頁面中操作視圖之外,我們還可以在頁面中操作控制器的一些設置等等。

Storyboard就是把很多的Xib文件添加到了一個文件中,讓我們可以在一個文件中操作所有視圖,更加的方便和快捷。同時,我們還可以設置頁面之間的聯繫。展示程序頁面之間的邏輯關係
不同的是,Xib中代表的僅僅是View,Storyboard中代表的是控制器

2. StoryBoard與xib相比較的優勢與劣勢?

Xib的和純代碼開發相比起來優勢已經很明顯了:方便、快速、直觀。。。可以幫我們提高工作效率,節省開發時間。
Storyboard和xib比起來,除了擁有Xib擁有的優勢外,它還有自己的優勢。

方便、快速、直觀
顯示各個控制器之間的順序關係
快速設置控制器的一些屬性

3. 如何使用以及單獨創建Storyboard文件

cmd + N,選擇User Interface->StoryBoard
這裏寫圖片描述
創建之後如何讓程序去加載呢,在這裏設置下:選中項目->General->Main Interface,在Main Interface輸入storyboard文件名

這裏寫圖片描述
設置好了之後,程序啓動後就會自動加載我們的Stroyboard文件了

4. Storyboard中那麼多控制器,哪個是根視圖控制器?

Storyboard中可以包含很多的視圖控制器,那到底哪個是根視圖控制器呢?注意,這裏不需要我們去寫代碼聲明。只需要勾選就OK了。

這裏寫圖片描述
視圖控制器左側的小箭頭就表示當前的爲根視圖控制器,設置的位置就是右側Is Initial View Controller的複選框。
小箭頭也可以直接拖動,可以從一個控制器拖到另一個控制器上,這樣就更改了根視圖控制器。

5. 添加新的視圖控制器和關聯

這裏寫圖片描述
從右下角直接找到View Controller拖到Stroyboard,這樣就創建了一個視圖控制器,但是需要和ViewController.h/.m進行關聯,

這裏寫圖片描述

在Class中輸入對應的控制器的名稱,這樣就進行了關聯,怎麼樣,比Xib簡單吧。

6. 使用Segue

Segue,就是我們在storyboard中看到的那些線,相對應的類是UIStoryboardSegue,segue的作用就是可以表示出控制器之間的跳轉關係,並且,是可以直接實現跳轉的。
在一個控制器中拖入一個UIButton,然後按住Control按鈕,從button上拖到另外一個控制器中,

這裏寫圖片描述

鬆手後可以看到彈出這樣一個HUD:

這裏寫圖片描述

最下面的兩個,push和modal大家都認識,一個是導航控制器的跳轉頁面,另一個是模態的效果。大家也可以發現,已經被deprecated掉了,所以我們不應該再去使用。
解釋下最新的:
show: 相當於push,但是有一個好處:如果沒有導航控制器,跳轉的方式就是模態,如果存在導航控制器,就是push的效果
show detail: 相當於modal
我們選擇show,這樣可以看到一條線:

這裏寫圖片描述

這條線就是segue,代表了轉場。(segue的使用後期再做詳細介紹)
這樣搞定之後,我們就實現了頁面之間的跳轉,都不需要寫代碼。

7. 設置代理

如果我們添加了tableView到視圖中,我們不需要寫代碼,可以直接設置代理:
這裏寫圖片描述
按住Control,從tableView拖到對應的控制器上,鬆手後會看到:
這裏寫圖片描述
可以看到dataSource和delegate,把兩個都選中就代表我們設置了tableView的代理爲當前的視圖控制器。選中的代理項會在前面出現小點點,就比如dataSource

8. 給控制器添加導航控制器或者標籤控制器

選中一個控制器,然後去菜單欄:Editor->Embed In->Navigation Controller
這裏寫圖片描述

我們選中控制器可以將當前控制器裝載到控制器中,當我們選中幾個View的時候,我們也可以裝載到View或者ScrollView中,非常的方便。

9. 這個東西真棒

Storyboard除了可以提高我們的開發效率之外,後期介紹了Auto Layout之後,你會愛上Storyboard的。

建議大家在個人項目中使用Storyboard,
團隊項目的時候使用Xib,
總之就是儘量使用可視化編程,提高我們的工作效率。

發佈了42 篇原創文章 · 獲贊 1 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章