關(guān)于Storyboard你也許不知道的小秘密

(一)前言

最近放縱的過了頭,筆記好久沒有寫了雁乡,然而LOL的段位并沒有并沒有因為多包宿而上升糜俗,真是個令人悲傷的故事曲饱。Xcode總有一些很少用到隱藏很深的小秘密扩淀,今天我們就來扒一扒Storyboard,讓哥幾個爽一爽卵凑。

(二)正文

1.Runtime Attribute

Runtime大法好呀勺卢!

我們都知道象对,Objc是一門動態(tài)語言,而這一切都要歸功于強大的Runtime庫甫煞。在日常的使用過程中冠绢,我們打交道最多的就是屬性面板了(Attributes inspector)弟胀,改背景顏色啊喊式,改Lable內(nèi)容啊等等垃帅。它非常的方便是沒有錯剪勿,但是它也有局限性厕吉。比如設(shè)置圓角,在屬性面板中并沒有這一選項运悲。但是通過Runtime Attribute我們就可以完美的解決問題项钮。當然啦烁巫,屬性面板能夠做的事情,它自然也是不在話下了磁餐。

只需要輕輕一點右下角的加號阿弃,然后就像代碼中KVC的使用方法那樣渣淳,填上KeyPath,填上Value荠呐,一切搞定砂客!

Attributes inspector
Storyboard的樣式.png
運行后的樣式

2.Global Tint

有的時候我們有這樣的需求媚创,在Storyboard中所有的Tint Color都設(shè)置為其他的顏色钞钙,而不是默認的藍色。那么瘫怜,我們?nèi)绻刻砑右粋€控件就在屬性面板中設(shè)置這種辦法實在是太Low了本刽,好在Apple為我們考慮到了這一點子寓,在Storyboard中的File inspector中的Global Tint為我們完美的解決了這一點。為該屬性設(shè)置了顏色以后炸裆,該Storyboard中的所有控件的Tint Color都變成了你所設(shè)置的顏色鲜屏,比如UIButton的字體顏色洛史、UIProgress進度條的顏色等等,是不是方便了很多呢?

Gobal Tint.png
6E9F51DE-7C84-48EE-9C30-AF13EB6BD41B.png

3.Outlet Collections

Outlet是iOS“拖線”開發(fā)中最基礎(chǔ)也是最常用的操作了,相信大家也已經(jīng)用的非常熟練了霎褐。Outlet Collections從名字上面我們就可以知道该镣,它是Outlet的一種集合。舉個例子吧:有一個UI界面中有很多的UIButton省艳,業(yè)務(wù)邏輯上他們屬于同一塊嫁审,然后你要在.m中獲取他們的引用律适,原來的方法是一個一個的給他們拖線遏插,命名胳嘲,然后再拖線...但是有了Collection以后世界就不一樣了扣草。步驟如下:

點擊鼠標右鍵德召,出現(xiàn)的那個黑色HUD.png
拖線設(shè)置集合名稱.png

其他幾個的控件也是相同操作拖線到該Collections上岗。我們可以看到,得到的引用是一個該控件類的數(shù)組集合敬锐。也就是說台夺,不同類型的組件不能通過Collections來集合獲取痴脾。

屏幕快照 2016-01-01 下午2.30.21.png

OK啦赞赖,最后我們來測試一下獲取那幾個Button前域。

屏幕快照 2016-01-01 下午2.36.03.png

4.Storyboard Reference

在使用Storyboard開發(fā)中,最為人詬病的可能莫過于多人開發(fā)了移宅,唐巧當年在一篇博文中將其稱之為“災(zāi)難”(詳情可見他的個人博客)漏峰。機智的蘋果也看到了這個的問題届榄,于是Storyboard Reference就出現(xiàn)了痒蓬。它將一個原本龐大的Storyboard分發(fā)成多個子Storyboard滴劲,在父本中只能看到子體的引用班挖。在多人開發(fā)的過程中芯砸,每個人修改自己的那個子體假丧,那么就不會有那么多蛋疼的事情了。

選中你所要重構(gòu)的控制器渔期,然后選擇Editor->Refactor to storyboard.png
設(shè)置新的Storyboard的名字.png
結(jié)果.png

當然啦,每個人的使用習慣不一樣谋梭。你也可以選擇先新建一個Storyboard瓮床,然后再Main.Storyboard中添加一個Storyboard Reference控件,然后在屬性面板設(shè)置關(guān)聯(lián)踢步,就像下面那樣。

7ADABE74-D7B5-4979-9655-556E009A2968.png

5.對齊相關(guān)

用過PS的人應(yīng)該都知道輔助線的作業(yè)吼鱼,當然萬能的Xcode也是提供了輔助線的功能的菇肃。單擊某個控件取募,按下shift+Command+-添加橫向輔助線,shift+Command+|添加縱向輔助線斗忌,添加的位置都是左右/上下居中的。如果你想要刪除輔助線眶蕉,那么把它拖到最邊邊就可以啦造挽!

屏幕快照 2016-01-01 下午3.35.42.png

有的時候我們需要快捷的知道某個控件上下左右的距離饭入,那么我們只需要選擇相應(yīng)的控件,然后按下Option就可以啦肛真,當你鼠標移動到其他的控件的時候毁欣,也會智能的顯示出與該控件的位置距離參數(shù)。如下圖:

距離標注.gif

(三)結(jié)語

Storyboard剛出生的時候饭耳,它確實有這樣那樣的缺陷寞肖,但是經(jīng)過幾年的發(fā)展,蘋果不斷的改進衰腌,它已經(jīng)成為iOS快速開發(fā)不可或缺的重要工具新蟆。工程師的時間并不應(yīng)該浪費在那些無聊乏味的代碼上,在這一點上Storyboard一直未忘初心右蕊。

關(guān)于Storyboard的小技巧我相信還有很多琼稻,小伙伴們有什么新發(fā)現(xiàn)還記得多多分享哦!

最后的最后饶囚,祝大家2016年寫出越來越精致的代碼帕翻,我們Github上見!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末萝风,一起剝皮案震驚了整個濱河市嘀掸,隨后出現(xiàn)的幾起案子规惰,更是在濱河造成了極大的恐慌睬塌,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異揩晴,居然都是意外死亡勋陪,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進店門文狱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來粥鞋,“玉大人,你說我怎么就攤上這事瞄崇∩氪猓” “怎么了?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵苏研,是天一觀的道長等浊。 經(jīng)常有香客問我,道長摹蘑,這世上最難降的妖魔是什么筹燕? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮衅鹿,結(jié)果婚禮上撒踪,老公的妹妹穿的比我還像新娘。我一直安慰自己大渤,他們只是感情好制妄,可當我...
    茶點故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著泵三,像睡著了一般耕捞。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上烫幕,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天俺抽,我揣著相機與錄音,去河邊找鬼较曼。 笑死磷斧,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的捷犹。 我是一名探鬼主播弛饭,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼伏恐!你這毒婦竟也來了孩哑?” 一聲冷哼從身側(cè)響起栓霜,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤翠桦,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體销凑,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡丛晌,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了斗幼。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片澎蛛。...
    茶點故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖蜕窿,靈堂內(nèi)的尸體忽然破棺而出谋逻,到底是詐尸還是另有隱情,我是刑警寧澤桐经,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布毁兆,位于F島的核電站,受9級特大地震影響阴挣,放射性物質(zhì)發(fā)生泄漏气堕。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一畔咧、第九天 我趴在偏房一處隱蔽的房頂上張望茎芭。 院中可真熱鬧,春花似錦誓沸、人聲如沸梅桩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽摘投。三九已至,卻和暖如春虹蓄,著一層夾襖步出監(jiān)牢的瞬間犀呼,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工薇组, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留外臂,地道東北人。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓律胀,卻偏偏與公主長得像宋光,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子炭菌,可洞房花燭夜當晚...
    茶點故事閱讀 43,612評論 2 350

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,837評論 25 707
  • Storyboard是最先在iOS 5引入的一項振奮人心的特性罪佳,大幅縮減構(gòu)建App用戶界面所需的時間。 要介紹St...
    余一波_Bobby閱讀 61,405評論 11 76
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫黑低、插件赘艳、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,066評論 4 62
  • 就是Iterator 遍歷用
    IAmWhoAmI閱讀 201評論 0 0
  • 世界上有兩種人最空虛酌毡,一種是好為人師的人,另一種就是好拜人師的人蕾管。 好為人師的人本身并不空虛枷踏,但大道理輸出的多了,...
    俞非白閱讀 235評論 0 2