Flex Container
它們可以是水平,也可以是垂直。
- Flex Direction決定了Flex Containner內的主軸排布方向。
主軸默認為 Row (從左到右):
同時,也可以設置 RowRevers(從右至左):
Column(從上到下):
ColumnRevers(從下到上):
- Flex Wrap
Flex Wrap 決定在軸線上排列不下時,視圖的換行方式。
Flex Wrap 默認設置為 NoWrap,不會換行,一直沿著主軸排列到屏幕之外:
- Display
Display 選擇是否計算它,默認為 Flex. 如果設置為 None 自動忽略該視圖的計算。
在根據邏輯顯示 UI 時,比較有用。
比如我們現有的業務,需要顯示的騰訊身份標示。按照一般做法,多個 icon 互相連成一排,根據身份去設置不同的距離,同時隱藏其他 icon ,比較的麻煩。iOS 最好的辦法是使用 UIStackView ,這又有版本兼容等問題。而使用 FlexBox 布局,當不是某個身份時,只要設置 Display 為 None,就不會被納入 UI 計算當中。
- Justify Content
Justify Content用于定義Flex Item在主軸
上的對齊方式:FlexStart(主軸起點對齊),FlexEnd(主軸終點對齊),Center(居中對齊)、SpaceBetween(兩端對齊)。。。。
- Align Items
Align Items定義Flex Item在側軸
上的對齊方式。
Align Items可以和主軸對齊方式Justify Content一樣,設置FlexStart ,FlexEnd,Center,SpaceBetween,SpaceAround 。