我对此做了很多研究,但未能成功找到解决方案。
我在 UIView 中有一个名为 scrollView
的 UIScrollView。我在 pagingEnabled 模式下使用此 scrollView
。在 scrollView
内部,我以编程方式创建了 3 个不同的 View 。在这 3 个不同的 View 中,我有一堆东西(UILabel、UITextView 等)。所有 View 内容都是动态的,并在运行时确定。所以,我真的不知道 scrollView.contentSize
。如果我给出此 scrollView
的内容大小,有时,当用户向下滚动时,屏幕底部会出现白色空白的屏幕。我的问题是:我可以为此 scrollView 的每个页面动态设置内容大小吗
?例如,第 1 页:
self.scrollViewNews.contentSize = CGSizeMake(constant1,constant2);
并为第 2 页设置其他内容。
最佳答案
我认为您对 contentSize
与分页大小感到困惑。分页大小始终是 scrollView 边界的大小,并且不是您可以设置的属性。也就是说,当您向左/向右滑动时,它将按 ScrollView 的宽度“翻页”。
contentSize
是 ScrollView 中所有 subview 的虚拟边界框的大小。这仅用于限制 ScrollView 滚动的距离,以及对于分页,它将分页多少次,即 contentSize.width/bounds.size.width
。
假设 scrollView 没有放大/缩小 (zoomScale = 1.0),那么您需要在虚拟“页面边界”上定位和调整 subview 的大小。它们可以占据整个页面边界(大小匹配 scrollview.bounds)或插入。如果您有一些更大/更小的内容,那么您必须决定是要更改该内容的比例还是在页面范围内将其放大/缩小。
关于iphone - UIScrollView 动态设置页面大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11966914/