UIStackView

UIStackView主要包括了四大屬性:axis、alignmentdistributionspacing

  • axis
    設(shè)置UIStackView布局的方向:水平方向或垂直方向
typedef NS_ENUM(NSInteger, UILayoutConstraintAxis) {
    UILayoutConstraintAxisHorizontal = 0,
    UILayoutConstraintAxisVertical = 1
};
  • alignment
    主要設(shè)置非軸方向子視圖的對(duì)齊方式
typedefNS_ENUM(NSInteger,UIStackViewAlignment) {
    UIStackViewAlignmentFill,//子視圖填充
    StackViewUIStackViewAlignmentLeading,//子視圖左對(duì)齊(axis為垂直方向而言)
    UIStackViewAlignmentTop=UIStackViewAlignmentLeading,//子視圖頂部對(duì)齊(axis為水平方向而言)
    UIStackViewAlignmentFirstBaseline,// 按照第一個(gè)子視圖的文字的第一行對(duì)齊,同時(shí)保證高度最大的子視圖底部對(duì)齊(只在axis為水平方向有效)
    UIStackViewAlignmentCenter,//子視圖居中對(duì)齊
    UIStackViewAlignmentTrailing,//子視圖右對(duì)齊(axis為垂直方向而言)
    UIStackViewAlignmentBottom=UIStackViewAlignmentTrailing,//子視圖底部對(duì)齊(axis為水平方向而言)
    UIStackViewAlignmentLastBaseline,// 按照最后一個(gè)子視圖的文字的最后一行對(duì)齊,同時(shí)保證高度最大的子視圖頂部對(duì)齊(只在axis為水平方向有效)
}NS_ENUM_AVAILABLE_IOS(9_0);
  • distribution
    設(shè)置軸方向上子視圖的分布比例(如果axis是水平方向,也即設(shè)置子視圖的寬度,如果axis是垂直方向,則是設(shè)置子視圖的高度)
     UIStackViewDistributionFill = 0, 軸方向上填充UIStackView
     UIStackViewDistributionFillEqually, 所有子視圖在軸方向上等寬或等高
     UIStackViewDistributionFillProportionally, 根據(jù)原先子視圖的比例來(lái)拉伸或壓縮子視圖的寬或高
     UIStackViewDistributionEqualSpacing, 保持子視圖的寬高,所有子視圖中間的間隔保持一致
     UIStackViewDistributionEqualCentering, 控制所有子視圖的中心之間的距離保持一致
  • spacing
    該屬性控制子視圖之間的間隔大小,在distribution前三個(gè)屬性值設(shè)置的情況下,子視圖之間是沒(méi)有間隔,我們可以通過(guò)spacing屬性顯式的設(shè)置,如下圖在distribution=UIStackViewDistributionFillEqually情況下,設(shè)置子視圖間隔為10,子視圖之間間隔都為10,且子視圖依然等寬
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容