关于 UISCrollView 的 contentSize 计算的两种方法。

 我来答
濒危物种1718
2022-06-16 · TA获得超过1.2万个赞
知道大有可为答主
回答量:6285
采纳率:100%
帮助的人:42.6万
展开全部

在 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。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式