【问题标题】:ScrollView doesn't work properly in XcodeScrollView 在 Xcode 中无法正常工作
【发布时间】:2018-07-14 11:07:12
【问题描述】:

我会在我的 iOS 应用程序中显示一个视图,但是当我尝试使用 ScrollView 时,即使我放置了堆栈视图,它也不起作用。

这是我的故事板的截图:

我在代码中添加了很长的描述进行测试,但滚动视图无法正常工作。以下是我的视图控制器的约束:

问题可能来自哪里?


编辑:

删除View.centerY = centerY后,我得到这个错误:

滚动视图:需要约束:Y 位置或高度

这是我的新约束:

【问题讨论】:

  • 尝试移除约束 View.centerY = centerY。并将集合视图的底部约束设置为滚动视图的底部。这可能是由于屏幕高度造成的,并且您也在同样的情况下设置了 y 约束。
  • 谢谢,我删除了约束,但我不知道如何修复新错误。我不知道要添加哪个约束来修复“需要约束:Y 位置或高度”。我用截图和更多细节编辑了我的第一篇文章。
  • 希望你的问题已经解决了。

标签: ios swift swift3 uiscrollview


【解决方案1】:

在内容视图和scrollView 之间限制View.centerY = centerY 将阻止滚动。放弃那个约束。

【讨论】:

  • 我根据您的建议编辑了我的问题,但我仍然对缺少的 Y 位置有一个错误。你知道我应该添加哪个约束来修复它吗?
  • @cusmar 好吧,高度必须由内容决定,所以只要确保你放在内容视图中的东西对所有边都有正确的设置约束,它应该可以工作
  • 它工作正常!谢谢!但是最后一件事,当我滚动到顶部时,会出现状态栏的空白区域。你知道它是从哪里来的吗?
  • @cusmar 我不确定我是否理解你在问什么,但我最好的猜测是这是使用安全区域指南的结果。我不确定故事板的工作原理,但请确保您不使用安全区域(从您的屏幕截图中,我假设您没有限制滚动视图顶部),并尝试四处寻找边距和其他东西.. 例如,当您单击滚动视图时,在 Size Inspector 选项卡上右边,取消选中Layout Margins部分中的Safe Area Relative Margins
  • @cusmar 有帮助吗?