gpt4 book ai didi

ios - UIScrollView 滚动太多

转载 作者:行者123 更新时间:2023-12-01 16:37:51 25 4
gpt4 key购买 nike

我有一个带有几个大 UIViews 的 UIScrollView(大于 ScrollView 的可见区域)。我有以下行:

[[self scrollView] setContentSize:CGSizeMake([self scrollView].bounds.size.width, [ListItemView instanceHeight] * MAX_NUMBER_ITEMS)];

ListItemView 是自定义 View ,instanceHeight 是它们都具有的静态高度(即第二个参数应该是所有内容的总高度,可以正常工作)。问题是,即使我使内容大小(我相信)等于 ScrollView 的实际大小,它仍然水平滚动(在所有 iPhone 尺寸上模拟)。

水平滚动条会继续出现,直到我将内容大小设置为 250。我通过反复试验发现了这一点(在 251 处出现水平滚动条,在 250 处没有出现)。为什么是这样?我希望一旦 contentSize 小于滚动条的实际大小(即屏幕宽度,320),滚动条就会消失。

最佳答案

使用自动布局的技巧是你永远不会明确设置任何东西的大小。如果您的约束在整个 View 层次结构中设置一致,则所有内容都会自动调整大小(包括 ScrollView 的内容)。如果无法提前指定 View 的大小,则应在自定义 View 子类中覆盖 intrinsicContentSize 并返回大小。

在您的情况下,创建一个包含所有 ListItemViews 的自定义 View 。在该自定义类中,返回 IntrinsicContentSize 中 ListItemViews 的总高度——您根本不需要在 scrollView 中设置内容大小。

关于ios - UIScrollView 滚动太多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26599254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com