gpt4 book ai didi

iOS 8 - UIScrollView 不滚动

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:00:21 24 4
gpt4 key购买 nike

我想让垂直滚动取决于 Content View 中的内容。我创建了以下层次结构: View -> ScrollView -> 内容 View

  • 我将(顶部、底部、左侧、右侧) ScrollView 固定到主视图
  • 我还将内容 View 固定到 ScrollView
  • 然后我在 Content ViewMain View 之间添加了 Same WidthSame Height 约束,以便 < strong> ScrollView 可以计算它的内容大小

在所有这些操作之后,Scroll View 根本不会滚动(它只是缩小了内容)。只有当我将 scrollView.contentSize.height 添加到 viewWillLayoutSubviews() 时它才会滚动。但是我不想硬编码这个高度值。我认为 Autolayout 应该自动计算内容高度并添加适当的滚动。有谁知道解决这个问题的正确方法?

最佳答案

我遇到了同样的问题。我通过删除 ScrollView 的约束然后将 ScrollView 的框架设置为等于 viewDidAppear 中的 View 框架来修复它:

self.scrollView.frame = self.view.frame;

当您在 Storyboard 中将 ScrollView 的宽度和高度设置为等于 View 以便您可以看到完整内容时,就会出现此问题。它非常适合编辑,但是当您运行您的应用程序时, View 的框架大小根据 iPhone 或 iPad 的不同而不同,但 ScrollView 的框架大小不会改变。它仍然与您在 Storyboard 中设置的大小相同。

这就是为什么只有当您将内容大小硬编码为一个随机较大的值时, ScrollView 才会起作用。该值必须大于当前 ScrollView 的帧大小才能工作。一旦将 ScrollView 的框架设置为等于 View 的框架,内容大小设置将正常工作:

self.scrollView.contentSize = self.contentView.frame.size;

关于iOS 8 - UIScrollView 不滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31758589/

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