簡介
Autolayout 是 iOS/OS X 平台上一種重要的布局技術,整個的布局和适配技術是基于限制(constraints)進行的。我們可以通過兩種方式來為界面視圖的位置添加限制關系,一種是通過 Interface Building(IB),也就是在可視化界面下進行;另外一種則是通過代碼的形式進行描述。
本文主要是記錄下利用代碼添加限制時用來描述限制的文法,官網稱這種語言為 Visual Format Language(可視化格式語言)。
(PS:本文的例子來源于官網文檔)
文法
以下是一些利用 Visual Format Language 來描述限制(constraints)的例子。
标準的間隔
預設的水準間隔為 8。
寬度的限制
[button(>=)]
按鈕的寬度大于等于 50。
與父視圖的間距
與父視圖的左右間距均為 50.
垂直方向上的限制
兩個 UITextField 的垂直距離為 10。
緊湊限制
[maroonView][blueView]
兩個視圖緊湊布局。
設定限制的優先級
[button(@)]
設定限制的優先級為 20,優先級範圍從 1 到 1000。
視圖具有相同寬度限制
[button1(==button2)]
多個限制
[flexibleButton(>=,<=)]
設定按鈕的寬度大于等于 70,小于等于 100。