UIStackView入门示例解析

作者:Love@YR
链接:http://blog.csdn.net/jingqiu880905/article/details/50970391
请尊重原创,谢谢!

网上找到一份代码:https://github.com/tutsplus/iOS-StackViewStarterProject
很简单,可以下载下来看看。

下面我们来梳理一下stackview

  1. 当stackView axis为vertical ,其Alignment 控制subview的宽度。
    选择Leading、Trailling、Center时其里面的控件都是sizeToFit的,即控件的宽度和内容本身宽度相等。唯独Alignment为Fill时是等于父控件的宽度。(拉伸状态)
    Distribution控制subview的高度。
    选择Fill时,上下元素依次设置其sizeToFit的高度排列,中间间隔为Spacing,最后一个元素的底部要离其父控件底部为0。
    选择Fill equally时,每个元素的高度为(superView.frame.height-(subviews.count-1)*spacing)/subviews.count
    选择Equal Spacing时,上下元素依次按照其sizeToFit的高度排列,然后他们之间再等间隔排列,此时设置Spacing无效,因为此时的间隔是算出来的。

  2. 当stackView axis为horizontal时 ,其Alignment控制其子控件的高度和位置。
    选择Top, Center, Bottom时子控件的高度都是sizeToFit的,他们的center.y分别为其height/2,和垂直居中于其superView, 和bottom与父控件button相距0。选择Fill的话子控件的高度等于父控件的。
    Distribution控制subview的宽度。
    选择Fill Equally时宽度等于(superView.frame.width-(subviews.count-1)*spacing)/subviews.count
    选择Equal Spacing是宽度为sizeToFit的,此时设置Spacing无效,因为此时的间隔是算出来的。

在写代码时需要注意[self.horizontalStackView addArrangedSubview:starImgVw];
而不是addSubview,后者不会出现加了约束后的效果!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值