0
点赞
收藏
分享

微信扫一扫

Auto Layout的异类-UIScrollView

90哦吼 2021-09-25 阅读 76

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

最近在看这本书:

里面有句话说的很好:

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

先说"拖线"布局

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

我们怎么给contentSize呢?

  • 首先, 给scrollView添加一个contentView

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

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

  • 最后给contentView设定一个高度, 这个高度实际上就是contentSize的高


    contentSize的宽和高都确定了, 那么布局就完美了. 布局的线也变成了蓝色
再说Masonry布局

思路都一样, 也就是那么几步


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

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

相关推荐

0 条评论