【问题标题】:How to add an existing view with existing constraints into a scroll view (Swift 4)如何将具有现有约束的现有视图添加到滚动视图中(Swift 4)
【发布时间】:2018-08-20 22:26:03
【问题描述】:

我在我的 iPhone X 上设计了我的视图控制器。当让它响应 iPhone 7/8 和 SE 等较小的手机时,我需要将所有内容放入滚动视图中。如何在所有约束下保持布局相同,但添加滚动功能?

【问题讨论】:

  • 将所有视图嵌入到受视图大小限制的滚动视图中。
  • 为什么不将它们也放在 iPhone X 的滚动视图中?
  • 我只是说它非常适合 iPhone X,当我添加滚动视图时,它也适用于 X

标签: ios iphone swift uiscrollview autolayout


【解决方案1】:

你可以这样做

1- 将滚动视图拖到与旧视图相同的层次结构中,为其设置前导、尾随、顶部、底部约束

2- 复制旧视图,将其粘贴到 scrollView 中,将其前导、尾随、顶部、底部约束和宽度约束到最外层视图

这个图可能很简单,但是如果你跟着它滚动视图应该会滚动

【讨论】:

  • 我是否必须将现有视图中对象的任何约束更改为新的滚动视图?
  • 如果旧视图中的对象放置得很好,并且从上到下都有约束,那么不需要只有父视图(即旧视图)
  • 感谢您的帮助。我已经按照你说的做了,但是在模拟器上运行时,应用程序崩溃了,因为锚定到视图顶部的最顶部,而不是滚动视图,具有 nil 值。有什么建议吗?
  • 最顶层视图我的意思是层次结构中的外部视图顶部,即代码中的 self.view
  • 更新:一切都在滚动视图中,没有什么不是零,但我无法滚动滚动视图中的元素。我有什么遗漏吗?我已经在故事板中完成了所有这些,没有任何程序化。
猜你喜欢
  • 2020-12-13
  • 2018-01-10
  • 1970-01-01
  • 2014-12-18
  • 1970-01-01
  • 2013-06-01
  • 1970-01-01
  • 2016-01-02
  • 2014-04-09
相关资源
最近更新 更多