iphone - UIScrollView 动态设置页面大小

标签 iphone ios uiview uiscrollview

我对此做了很多研究,但未能成功找到解决方案。

我在 UIView 中有一个名为 scrollViewUIScrollView。我在 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/

相关文章:

iphone - iOS 将输出浮点参数传递给函数

ios - BST 的 NSDateFormatter 而不是 GMT+1

swift - 无法在 subview 中设置 var

ios - 在 iOS 和自动布局中以编程方式创建 UI?

ios - 如何从 modalVC 中删除 VC 1 中的 tableView 行?

ios - 为什么 UIView 的 intrinsicContentSize 总是返回 (-1.0, -1.0)?

iphone - 单屏两个UITableView

ios - 保护 iPhone 上的应用程序数据

ios - Swift - Unwind Segue触发错误

ios - 如何快速设置每周本地通知