Xcode7,消失的pin菜單(Editor->pin),xcode7editor-
用過autolayout的對pin都應該不陌生,通過這個選項可以設定控制項的四周的外邊距:Top Space、Leading Space、Trailing Space、Bottom Space。
在Xcode6的時代,你可以有2種選擇來使用pin:
1)通過功能表項目:Editor->pin
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。
好了,上面都是廢話,下面才是本文的重點。
相信已經有不少人將Xcode升級到了Xcode7了吧,然後你就會發現Editor裡找不到pin了,沒了..沒了...沒了.....
然而使用pin按鈕依然會出現Top Space to Top Layout Guide,如果想設定Top Space to Superview該怎麼辦呢?
找了好久,終於在stackoverflow上找到了答案(這裡順便吐槽下百度搜尋,除了很舊很舊的資料,真心找不到有價值的資料,能用google的還是用google吧)
答案在這裡:http://stackoverflow.com/questions/28766210/autolayout-add-constraint-to-superview-and-not-top-layout-guide
在約束輸入框右側有個向下的箭頭,點開那個箭頭會出現選擇,如:
看到了吧,現在勾選的是“Top Layout Guide”,我們只要選擇View就可以了,出來的效果就是Supview。這個View表示的是ViewController的根view,因為我這個是直接加到ViewController的根View裡的,所以這裡的View就是Superview。
如果有其他控制項存在,這裡的選項可能會不一樣,但是基本上一看就都明白了。
好了,要說的就是這麼多了,希望能幫到你,如有錯誤歡迎指正。