先來看看目錄:前端
介紹git
使view的Size與view中的Content相適應github
按住option鍵—觀察所選中view與另外view邊緣之間的距離canvas
Editor -> Embed In View, Unembed:app
在不影響subview的位置時給view自由的添加padding字體
對不在最前端的view進行移動動畫
IBOutletCollection排序ui
使用自定義屬性spa
MoarFonts——字體定製:所見即所得設計
在JoyTunes工做期間,咱們在開發最新一版的鋼琴應用程序,對程序的UI作了大量的從新設計,於是也在Interface Builder上花費了許多時間,對於圖片和view的縮放操做,很是的讓人不省心。不過在開發過程當中,咱們發現了許多很是不錯的IB使用技巧,我尋思着這必需要跟你們分享,因此成就了這篇文章。
免責聲明:
在JoyTune工做期間,咱們使用的是.xib文件(不是storyboards),而且沒有使用Auto Layout。實際上這主要是歷史緣由致使的。因此,這裏介紹的一些技巧可能稍微有點不一樣(若是你使用storyboard或Auto Layout),不過大多數都是同樣的。
很慚愧的是最近才發現這個功能——能節約大量時間。
選中任意的一個view,而後Editor->Size to Fit Content,或者簡單的按 ⌘=
接着就會按照下面的規則對選中view的Size作出與之Content對應的適應。
ImageView/Button的size會設置爲圖像的原始size(最多見的用法):
Label/Button的size會被設置爲與當前text內容至關的尺寸:
parent container view會與其subviews的frames相適應。
按住option鍵以後,選擇一個view,而後將鼠標懸停在別的一些view上,會看到一些距離——選中view與別的view邊緣之間的距離。
你是否是對此素手無策呢:你但願將已有的一些subviews放入到不一樣的parent view中,甚至是不一樣的.xib文件中,可是當你把一些view從新設置以後,它們爲自動的位於新的parent view中心?
如今好了,咱們有一個解決辦法,以下圖所示:
當試圖給view添加padding時,默認狀況下subview的x和y是不會改變的,可是有時候咱們並不但願是這樣的結果。我發現一個最好的方法,就是在按住⌘時拖動view的邊緣:
剛開始我還覺得要想移動不在最前端的view是不可行的。
有一種方法就是先將非最前端的view臨時設置到最前端,移動好位置以後,在設置回去。
另一種方法就是使用右邊panel中的size inspector,不過有時候要想設置一個好的位置,須要不斷的猜想和修正。
另外我發現一種方法:使用鍵盤上的上下左右鍵來移動view——這還不用把view設置爲最前端:
在document outline中選中view
爲了得到view的焦點:單擊root view的frame
利用箭頭進行移動
提醒:
得到view的焦點還有一個更好的方法:在document outline上雙擊view,就能夠用箭頭移動view了。
有時候IBOutletCollection裏面元素的順序對咱們來講很是重要:咱們但願按某個順序對其進行迭代。
有一種方法:在代碼裏面利用x/y/tag對其作排序處理,而後在迭代。
實際上,不必這麼作。IBOutletCollection的順序取決於咱們dragged connection的順序,能夠經過^+單擊 File’s Owner來查看當前的順序:
可能這個功能是IB中不多被使用的:使用Identity inspector中的User Defined Runtime Attributes(用戶自定義運行時屬性)在view上設置自定義屬性:
在此我定義了一個JTLabel類,咱們能夠設置它的stroke color和width,這樣一來咱們就不用在代碼裏面設置相關屬性了。
利用這個功能很好的一例子就是Canvas,經過它不用寫一行代碼就能定義相關的動畫。
在Interface Builder中字體的定製是個很是麻煩的事情。IB並無內置該功能,我用過比較好的解決辦法就是使用自定義屬性——就像Canvas同樣,或者使用字體替換技術——例如IBCustomFonts。這些都是有效的方案,不過他們有一個致命的缺點——它們不能給咱們一種WYSIWYG(所見即所得)的體驗,固然,這也是爲何咱們會第一時間使用Interface Builder的緣由。
爲了知道給label設置的自定義字體是否合適,咱們必需要運行程序才能知道結果——這有點讓人不能接受。
最近我發現了一個新的解決辦法:使用MoarFonts。賣價10美圓,沒有demo,沒有試用——不過請相信,這很是值得購買!它的使用方法很是簡單:將MoarFonts當作script build phase,而後build app,接着重啓Xcode,就可在Interface Builder中看到定製的字體。
打完收工!但願這些技巧對你能有所幫助。