Auto Layout的异类-UIScrollView

#本人有若干成套学习视频, 可试看! 可试看! 可试看, 重要的事情说三遍 包含Java, 数据结构与算法, iOS, 安卓, python, flutter等等, 如有需要, 联系微信tsaievan.

#####最近在看这本书:
iOS开发捷径

里面有句话说的很好:

无论按什么思路设置scrollView的约束,一定要让设置的约束能够确定scrollViewcontentSize, 这是重点, 也是核心思想.

于是, 不管是"拖线"布局, 还是Masonry布局, 都可以遵循这么个思想来进行.

#####先说"拖线"布局

image.png

讲道理来说, 我这里设置了x, y, width,height之后, scrollView就应该固定住了, 布局是完美的. 但是不是, 布局的线还是报红的.
这就是scrollView的特殊之处, 必须确定了contentSize之后才可以完美布局.

我们怎么给contentSize呢?

  • 首先, 给scrollView添加一个contentView
    给添加一个

这个contentView的上下左右边距都跟scrollView是对齐的. 这时候, 约束还是没有任何变化, 还是报红

  • 然后, 假设我是要上下滚动, 我就将contentView的水平方向跟scrollView居中对齐, 这时候就确定了scrollViewcontentSize的宽

image.png

  • 最后给contentView设定一个高度, 这个高度实际上就是contentSize的高
    image.png
    contentSize的宽和高都确定了, 那么布局就完美了. 布局的线也变成了蓝色

#####再说Masonry布局
思路都一样, 也就是那么几步
image.png

例子中写得比较简单, 高度写死了, 实际布局中, 高度是根据子view的高度不断变化的, 这个就要举一反三了, 总之记住:

#####scrollView的布局不仅仅要确定x,y, width, height. 还要确定contentSizewidthheight, 而contentSizewidthheight, 是由其子view来决定的.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值