首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何自动调整UIScrollView大小以适合其内容

如何自动调整UIScrollView大小以适合其内容
EN

Stack Overflow用户
提问于 2010-05-31 22:54:48
回答 14查看 179.4K关注 0票数 134

有没有办法让UIScrollView自动调整到正在滚动的内容的高度(或宽度)?

类似于:

代码语言:javascript
复制
[scrollView setContentSize:(CGSizeMake(320, content.height))];
EN

回答 14

Stack Overflow用户

发布于 2010-05-31 23:24:48

UIScrollView不会自动知道其内容的高度。你必须自己计算高度和宽度

用下面这样的东西来做

代码语言:javascript
复制
CGFloat scrollViewHeight = 0.0f;
for (UIView* view in scrollView.subviews)
{
   scrollViewHeight += view.frame.size.height;
}

[scrollView setContentSize:(CGSizeMake(320, scrollViewHeight))];

但只有当视图一个位于另一个的下方时,这才能起作用。如果你有一个相邻的视图,如果你不想把滚动条的内容设置得比实际的大,你只需要增加一个视图的高度。

票数 74
EN

Stack Overflow用户

发布于 2016-07-16 15:33:47

对于那些懒得转换它的人来说,这是swift中公认的答案:)

代码语言:javascript
复制
var contentRect = CGRectZero
for view in self.scrollView.subviews {
    contentRect = CGRectUnion(contentRect, view.frame)
}
self.scrollView.contentSize = contentRect.size
票数 14
EN

Stack Overflow用户

发布于 2016-11-27 22:11:34

来自@leviathan的最好的解决方案。只需使用FP (函数式编程)方法转换为swift。

代码语言:javascript
复制
self.scrollView.contentSize = self.scrollView.subviews.reduce(CGRect(), { 
  CGRectUnion($0, $1.frame) 
}.size
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2944294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档