I ?? Storyboards & Nibs

作者:Natasha浮梢,原文鏈接,原文日期:2016/03/27
譯者:saitjr彤路;校對:小鍋秕硝;定稿:千葉知風

@helenvholmes@tryswiftconf 中談到了一個我很感興趣的話題(其實每個話題我都很感興趣)—— 設計師怎樣入門開發(fā)。當然從 Storyboard 入手是顯而易見的洲尊。但這一見解卻在開發(fā)者之間引起了很大的爭議远豺。

事實上坞嘀,我并沒有參與整個爭論的過程。Interface Builder 存在一些弊端嗎继准?當然,但是以我的經(jīng)驗來看避凝,利還是遠大于弊的撑螺。而且這并不止關系到設計師怎樣入門含潘,而是所有人應該怎么入門。Interface Builder 可以使我們整個項目代碼更易懂泪姨。

在開發(fā)者拿到別人的項目時袋坑,從 Storyboard 開始梳理每個 ViewController 的關系是相當清晰的婆誓。

從這種角度上來說,Storyboard 是工具。和所有工具一樣权旷,如果你錯誤的使用它,那么它會毫無用處鄙麦,甚至有反作用。所以我總結(jié)了幾個如何高效使用 Interface Builder 的方式:

多個 Storyboard

使用 Storyboard 過程中,最大的問題就是:開發(fā)者從 Main.Storyboard 開始寫侣签,隨之將所有的內(nèi)容都加到了這個 Storyboard 中僚碎!很快,Storyboard 變得很重懒闷,界面關系錯綜復雜。如果項目中加入了其他開發(fā)者默刚,那他們什么都不能做,因為任何操作都會在 merge 時,引起沖突赂蕴。

我認為 Storyboard 就像是代碼,所以盡量保持 Storyboard 的整潔。我傾向于程序的每個獨立的模塊都有對應的 Storyboard。就好比登錄注冊模塊,或者設置模塊,這完全可以和程序的其他邏輯獨立開,那么就可以單獨一個 Storyboard柿冲。如果 app 有 TabBar宿饱,那么每個 tab 對應的模塊都可以創(chuàng)建單獨的 Storyboard由桌。

有時候炕檩,我的 Storyboard 中可能只有兩個界面妇押,但這沒關系色冀。因為隨著項目的迭代,我可以很容易地往里面添加更多的界面。

通過這樣整理 Storyboard敞斋,我完全不用擔心 merge 時的沖突蚓峦。在我開發(fā)設置模塊的時候干茉,其他開發(fā)者也可以同時的開發(fā)注冊模塊戳鹅,因為 Storyboard 是獨立的腾它,所以不會有沖突。如果我們需要修改相同的模塊(相同的 Storyboard)旁瘫,那么我們會進行溝通協(xié)作,防止沖突。

隨著 Storyboard References 的引入阻逮,使用多個 Storyboard 就更加簡單了降盹。

Nibs

我很喜歡用 Storyboard 來進行模塊的開發(fā),它能很好的表達出每個界面之間的關系,并且界面相關的配置也一目了然。它擁有很強的可讀性夜郁,而這點純代碼是很難做到的。這便是 Storyboard 最大的優(yōu)勢?,它主要作用并不是管理每個視圖或設計圖。

在項目中贵扰,有很多需要復用的 view 和 Table View Cell拔鹰。如果你發(fā)現(xiàn)自己在一個或多個 Storyboard 中使用到了相同的 view瓷马,那就將這個 view 封裝為 Nib欧聘。再次強調(diào)蒋伦,應該保證你的 Storyboard 或者 Nib “代碼”保持相對獨立并可以被復用研叫。

由于我喜歡盡可能的對 view 進行復用迈窟,所以我的 Storyboard 一般是這樣的:

即使保留著大量的使用 Nib (或者是純代碼)構(gòu)造的 view 都是 ok 的窄坦。這樣看起來很空曠的 Storyboard,對我來說也相當有用凳寺,它依然清晰的描述了界面的結(jié)構(gòu)鸭津,我也能方便的查看 ViewController 內(nèi)部細節(jié)。

IBInspectable / IBDesignable

在使用 Storyboard 或 Nib 時肠缨,遇到的另一個問題就是我可能需要對 view 進行一些改動逆趋,而且這些改動不能再 Storyboard 中進行,這就意味著晒奕,程序運行出來的效果闻书,和我在 Storyboard 中看到的效果不同。

不過現(xiàn)在有了 IBInspectables / IBDesignables脑慧,我們就可以在 Storyboard 中來進行改動魄眉,并且在當前畫布的右邊欄能看到改動的屬性列表。

Autolayout / Stack Views

在使用自動布局的時候漾橙,沒有可視化界面簡直寸步難行杆融。我很喜歡 Storyboard 或 Nib 在我缺少約束的時候給出警告,然后我再逐個去解決霜运。Stack View 也是這樣的,可以看到 view 的即時反饋蒋腮,并進行調(diào)整也是極好的淘捡。

最后

作為一名 iOS 開發(fā)者,我真的很喜歡 Interface Builder池摧,真是不理解為什么有些開發(fā)者這么反感它焦除。當然,如果你沒有正確的使用它作彤,那我無話可說膘魄。只要你模塊化的管理 IB 文件,并保持簡潔竭讳,那么無論誰在中途參與到項目中來创葡,程序的可讀性都沒有問題。

本文由 SwiftGG 翻譯組翻譯绢慢,已經(jīng)獲得作者翻譯授權(quán)灿渴,最新文章請訪問 http://swift.gg

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市骚露,隨后出現(xiàn)的幾起案子蹬挤,更是在濱河造成了極大的恐慌,老刑警劉巖棘幸,帶你破解...
    沈念sama閱讀 222,627評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件焰扳,死亡現(xiàn)場離奇詭異,居然都是意外死亡误续,警方通過查閱死者的電腦和手機吨悍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來女嘲,“玉大人畜份,你說我怎么就攤上這事⌒滥幔” “怎么了爆雹?”我有些...
    開封第一講書人閱讀 169,346評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長愕鼓。 經(jīng)常有香客問我钙态,道長,這世上最難降的妖魔是什么菇晃? 我笑而不...
    開封第一講書人閱讀 60,097評論 1 300
  • 正文 為了忘掉前任册倒,我火速辦了婚禮,結(jié)果婚禮上磺送,老公的妹妹穿的比我還像新娘驻子。我一直安慰自己,他們只是感情好估灿,可當我...
    茶點故事閱讀 69,100評論 6 398
  • 文/花漫 我一把揭開白布崇呵。 她就那樣靜靜地躺著,像睡著了一般馅袁。 火紅的嫁衣襯著肌膚如雪域慷。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,696評論 1 312
  • 那天汗销,我揣著相機與錄音犹褒,去河邊找鬼。 笑死弛针,一個胖子當著我的面吹牛叠骑,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播钦奋,決...
    沈念sama閱讀 41,165評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼座云,長吁一口氣:“原來是場噩夢啊……” “哼疙赠!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起朦拖,我...
    開封第一講書人閱讀 40,108評論 0 277
  • 序言:老撾萬榮一對情侶失蹤圃阳,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后璧帝,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體捍岳,經(jīng)...
    沈念sama閱讀 46,646評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,709評論 3 342
  • 正文 我和宋清朗相戀三年睬隶,在試婚紗的時候發(fā)現(xiàn)自己被綠了锣夹。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,861評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡苏潜,死狀恐怖银萍,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情恤左,我是刑警寧澤贴唇,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站飞袋,受9級特大地震影響戳气,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜巧鸭,卻給世界環(huán)境...
    茶點故事閱讀 42,196評論 3 336
  • 文/蒙蒙 一瓶您、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧纲仍,春花似錦呀袱、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至锻拘,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間击蹲,已是汗流浹背署拟。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留歌豺,地道東北人推穷。 一個月前我還...
    沈念sama閱讀 49,287評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像类咧,于是被迫代替她去往敵國和親馒铃。 傳聞我的和親對象是個殘疾皇子蟹腾,可洞房花燭夜當晚...
    茶點故事閱讀 45,860評論 2 361

推薦閱讀更多精彩內(nèi)容