首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >UIScrollView动态设置页面大小

UIScrollView动态设置页面大小
EN

Stack Overflow用户
提问于 2012-08-15 09:27:47
回答 5查看 10.8K关注 0票数 4

我对此做了相当多的研究,但未能找到解决方案。

我有一个UIScrollView,名叫scrollView,在UIView里面。我在pagingEnabled模式下使用这个pagingEnabled。在scrollView内部,我有三个以编程方式创建的不同视图。在这三个不同的视图中,我有一堆东西(,UILabel,UITextView等,)。在runtime.So中,所有的视图内容都是动态的和确定的,我真的不知道scrollView.contentSize。如果我给出这个scrollView的内容大小,有时,当用户向下滚动时,屏幕的botton处会出现一个白色空白的屏幕。我的问题是:Can i set the content size dynamically for each single page of this scrollView?例如,对于第1页:

代码语言:javascript
运行
复制
  `self.scrollViewNews.contentSize = CGSizeMake(constant1,constant2);` 

还为第二页设置了其他的东西。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-08-15 14:28:30

我认为您对contentSize与分页大小之间的关系感到困惑。分页大小总是scrollView边界的大小,不是您可以设置的属性。也就是说,当你向左/向右滑动时,它将按滚动视图的宽度“页面”。

contentSize是滚动视图中所有子视图的虚拟边框的大小。这只会限制滚动视图将滚动多远,对于分页,它将分页多少次,即contentSize.width / bounds.size.width

假设scrollView没有放大/缩小(zoomScale = 1.0),那么您需要在虚拟的“页面边界”上定位和调整子视图的大小。它们可以占用整个页面边界(大小与scrollview.bounds匹配)或嵌入。如果您有一些更大/更小的内容,那么您必须决定是要更改该内容的规模,还是要在页面范围内上下调整它的大小。

票数 3
EN

Stack Overflow用户

发布于 2012-08-15 09:32:55

是的,您可以动态设置scrollView的内容大小。此外,您还可以使用此方法:

代码语言:javascript
运行
复制
self.scrollViewNews.contentSize = CGSizeMake(constant1,constant2); 

这个方法没什么不对。您正在看到底部的空白,因为您可以将滚动视图的contentSize的高度设置为比其内容更大的值。这就是问题所在。根据内容调整高度,空格将消失。

票数 1
EN

Stack Overflow用户

发布于 2012-08-15 11:39:41

请尝试从当前内容中获取实际内容大小。

内容必须是从UIView继承的类,并且它具有frame.size.widthframe.size.height属性。

当将内容添加到contentSize时,可以使用这些设置当前内容的UIScrollviewUIScrollView

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11966914

复制
相关文章

相似问题

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