以下的都是在為iPhone 6設(shè)計自適應(yīng)布局(一)學(xué)習(xí)的個人總結(jié)
IOS自適應(yīng)布局
1.頁邊間距約束(Leading and Trailing space)
頁邊間距約束分前部間距約束(Leading space constaint)和尾部間距約束(Trailing space constaint)冰评。
2.水平間距約束(Horizontal space constaint)
給藍色方塊和粉色方塊添加水平間距約束蠢古,約束會使這兩個方塊之間的距離永遠不變稳诚。
3.等寬約束(Equal widths constaint)
給這兩個方塊添加一個等寬約束,使兩個方塊寬度保持一致随珠。
4.方向比例約束(Aspect ratio constaint)
給這兩個方塊添加方向比例約束,這個約束使方塊在滿足其他約束的前提下始終保持高和寬的比例相同蝶涩。所以在橫屏?xí)r就會以方塊的寬度為比例標準没讲,將高度的比例改為寬度的比例。
5.實踐布局約束
對自動布局還是不是很熟厚掷,應(yīng)該多加練習(xí)弟灼。
添加布局約束的方式
在storyboard中添加約束的方式:
1.底部布局約束按鈕
? ? ?在屏幕上選擇一個或多個對象,然后點擊底部的布局約束按鈕添加一個或多個需要的約束冒黑。它的好處是可以直觀的看到當前選擇的對象已經(jīng)添加了該類中的那些約束田绑。如果你只選擇了一個對象想要添加某個約束,但發(fā)現(xiàn)該約束是不可選的抡爹,那么就意味著這個約束是適用于兩個以上對象的約束掩驱。
2.按住Control鍵拖拽鼠標
? ? ? 也可以選擇一個對象,然后按住Control鍵和鼠標左鍵,拖拽鼠標到另一個對象(容器對象欧穴,也就是父對象或者選中對象自己)民逼,松開鼠標后會彈出適用的約束菜單,你可以選擇約束進行添加苔可。
3.菜單/綁定快捷鍵
? ? ? 也可以通過菜單選項editor —> pin給一個或多個對象添加布局約束缴挖。這是效率最低的一種方式。如果你發(fā)現(xiàn)有些約束你會一遍遍的反復(fù)添加焚辅,那么你就可以給該約束綁定一個快捷鍵來提高效率映屋。
檢查和編輯已添加的布局約束
? ? ? 選中一個對象,然后打開右側(cè)工具欄同蜻,選擇Size Inspector面板棚点。或者在storyboard界面左側(cè)的結(jié)構(gòu)樹中查看約束湾蔓。
移除布局約束
布局約束可以添加自然也就可以刪除瘫析。選中某個約束使其高亮顯示,然后按下Delete鍵移除該約束默责。
如果想移除某個對象上所有的約束贬循,有一個快捷的方式。選擇該對象桃序,然后在底部點擊Resolve Auto Layout Issues按鈕杖虾,選擇Clear Constaints。
布局出現(xiàn)的問題和沖突
? ? ?我們在添加約束時媒熊,經(jīng)常伴隨有警告或者錯誤出現(xiàn)奇适。雖然有些警告是因為我們還沒有添加完約束出現(xiàn)的,當我們添加完我們設(shè)想的約束后警告就會自然消失芦鳍。但大多數(shù)的警告還是指明我們的約束確實存在問題嚷往,需要我們修復(fù)。
錯誤擺放view的警告
view位置的錯誤擺放是一個很常見的警告柠衅。當一個view沒有擺放在約束規(guī)定的位置的時候皮仁,會出現(xiàn)該警告。
這些問題會在你切換不同設(shè)備的模擬器或鼠標不小心移動了某個對象時出現(xiàn)菲宴。
選中一個錯誤擺放的對象魂贬,在屏幕上會出現(xiàn)布局約束給你提示的正確的擺放位置。
缺少布局約束的錯誤
? ? ? 我們回到早些時候的示例中裙顽。這時候我們沒有給方塊添加Y坐標位置的約束。在運行時沒有問題宣谈,因為iOS會假設(shè)方塊的位置就是我們在storyboard中擺放的那個位置愈犹。但是Xcode會提示我們一個缺失約束的錯誤,為了避免意外發(fā)生(更換設(shè)備尺寸),我還是要根據(jù)Xcode的提示添加缺失的約束漩怎。
我們給這兩個方塊添加一個top space to to layout guide約束使方塊的位置更加清晰勋颖,并消除Xcode的錯誤提示。