Xcode7,消失的pin菜單(Editor->pin)

用過autolayout的對pin都應該不陌生,經過這個選項能夠設置控件的四周的外邊距:Top Space、Leading Space、Trailing Space、Bottom Space。ide

在Xcode6的時代,你能夠有2種選擇來使用pin:ui

1)經過菜單項:Editor->pingoogle

2)經過設計器下方的pin按鈕,就是下圖這個(鼠標放在上面會顯示出pin):設計

這兩種方法稍微有一些區別,使用菜單項裏的pin(Editor->pin)能夠直接選擇Top Space to Superview,就是直接設置距離superview的上邊距,若是用那個pin按鈕(上圖那個),他會根據當前view的位置選擇距離上一個view的邊距(不必定是superview),並且若是在navigationcontroller裏,常常會出現Top Space to Top Layout Guide,關於Top Layout Guide和Bottom Layout Guide是什麼鬼我還沒搞清楚,可是通常來講咱們只但願view的約束跟superview有關。因此出現這個狀況後,我通常都會刪掉約束,而後經過Editor->pin來設置Top Space to Superview。code

好了,上面都是廢話,下面纔是本文的重點。blog

相信已經有很多人將Xcode升級到了Xcode7了吧,而後你就會發現Editor裏找不到pin了,沒了..沒了...沒了.....get

然而使用pin按鈕依然會出現Top Space to Top Layout Guide,若是想設置Top Space to Superview該怎麼辦呢?it

找了很久,終於在stackoverflow上找到了答案(這裏順便吐槽下百度搜索,除了很舊很舊的數據,真心找不到有價值的資料,能用google的仍是用google吧)io

答案在這裏:http://stackoverflow.com/questions/28766210/autolayout-add-constraint-to-superview-and-not-top-layout-guidegui

在約束輸入框右側有個向下的箭頭,點開那個箭頭會出現選擇,以下圖:

看到了吧,如今勾選的是「Top Layout Guide」,咱們只要選擇View就能夠了,出來的效果就是Supview。這個View表示的是ViewController的根view,由於我這個是直接加到ViewController的根View裏的,因此這裏的View就是Superview。

若是有其餘控件存在,這裏的選項可能會不同,可是基本上一看就都明白了。

好了,要說的就是這麼多了,但願能幫到你,若有錯誤歡迎指正。

相關文章
相關標籤/搜索