关于 UISCrollView 的 contentSize 计算的两种方法。
在 App 开发中,基本上只要能滑动的 UI 都是 scrollView。
吐槽归吐槽,但 UIScrollView 的 contentSize 还是需要去计算的。
我们知道 UIScrollView 里面每一个子元素的大小以及子元素的个数。
比如: 新特性界面
这种情况也非常简单,数字和大小都是确定的。只需要带入计算即可。
每一个子视图的高度固定,但是子视图的个数不确定。
在这里有就两种做法了。
第一种,申明一个 height 属性,每次添加一个视图的时候,都根据前视图的高度 & 边距信息来记录累加高度。
最后设置成 scrollView 的 contentSize.
第二种情况,利用约束。
效果如下:
一个问题?
为什么要在 scrollView 中添加一个 containerView? 而不是直接往 scrollView 中直接添加子视图?
但是如果,在scrollView 内部添加一个 containerView 那么,它的大小就可以不确定了。只用约束设置 left top width 。高度则是由其内部的第一个子视图的 top 约束以及最后一个子视图的 bottom 约束计算得出即可。
最后在使用 dispatch_after 小技巧,不需要提前计算约束,就可以把 containerView 的 height 赋值给 scrollView 的 contentSize。