【问题标题】:Can't get UIScrollView to scroll on Swift Storyboards?无法让 UIScrollView 在 Swift 故事板上滚动?
【发布时间】:2020-07-16 11:38:27
【问题描述】:

大家好,

我试图让 UIScrollView 在这里工作,但它并没有真正工作?我无法滚动它。

这是我所拥有的: 看法 - 滚动视图(将约束设置为 0,0,0,0 到视图) -- contentView(设置约束为 0,0,0,0 滚动视图,宽度和高度与 contentView 相等,优先级 250)

但我仍然无法滚动它?我看过所有教程并遵循它们,没有什么可以解决它。有没有我错过的设置?有什么我可能不小心切换的吗?提前谢谢你。

【问题讨论】:

  • 发生这种情况是因为 scrollView 不知道它的内容大小。检查是否设置了顶部堆栈视图的顶部约束以及底部堆栈的底部约束。附言由于滚动视图内的嵌套堆栈视图,它也可能发生。如果约束解决方案不起作用,请创建另一个视图并将所有堆栈存储在其中。所以层次结构是:ScrollView > ContentView > Container View > Stack views。
  • @inokey 这是否意味着我的 scrollView 应该具有恒定的高度和宽度?
  • scrollView 本身在典型的全屏场景中具有恒定的高度和宽度,因为它受限于屏幕的边距。您的内容视图应该是 known 大小,但已知并不意味着恒定。这意味着contentView 中的所有视图都必须具有适当的约束。同时contentView的所有边都应该等于scrollView,并且contentView的width也应该等于scrollView

标签: ios swift xcode uiscrollview


【解决方案1】:

您可以调整几件事:

  1. 转到 View Controller 的 Size Inspector(在您的情况下 - Edit Programs View Controller),将 Simulated Size 更改为 Freeform
  2. 在 ScrollView 的 Size Inspector 中关闭 Content Layout Guides
  3. 为顶部、底部、前导和尾随添加 0 约束
  4. ScrollView 中的 contentView 必须与 ScrollView 具有相同的宽度。
  5. 然后根据里面已有的数字添加高度约束。

希望对你有帮助。

【讨论】:

  • 完成了这一切,它仍然无法正常工作。还有其他建议吗?
  • 您是否设置了 UIScrollView 的框架,使其小于内容大小。否则,它不会滚动。
  • 你能截屏完整的Containt Layout让我再检查一遍吗?我认为您在这样做时会犯一些错误。
  • 我已经在其中添加了一些调整,如果仍然无法滚动,请告诉我。
猜你喜欢
  • 2013-10-27
  • 1970-01-01
  • 1970-01-01
  • 2013-03-24
  • 1970-01-01
  • 2013-10-21
  • 1970-01-01
  • 1970-01-01
  • 2018-03-30
相关资源
最近更新 更多