如何使用自动布局修复Xcode 11(iOS 12,iOS 13)中的“可滚动内容大小歧义”

Pra*_*esh 25 uiscrollview ios-autolayout xcode11

使用自动版式时,无法在Xcode 11 beta的视图控制器中设置简单的UIScrollView。我知道必须将滚动视图限制在边缘,然后将滚动视图的宽度和高度设置为等于包含滚动视图的整个视图的宽度和高度。但是,当我尝试设置宽度和高度相等时,我没有选择。

在滚动视图中右键单击并拖动到整个主视图时,将获得以下选项:

  • 通往安全区域的空间
  • 安全区域的顶部空间
  • 将空间拖到安全区域
  • 底部空间到安全区域
  • 在安全区域内水平居中
  • 在安全区域内垂直居中

在其他视频中,我似乎没有提供“等宽”和“等高”选项。

我是在做错什么,还是Apple改变了Xcode 11中滚动视图的工作方式?

Jua*_*res 51

在属性中禁用内容布局指南

在属性中禁用内容布局指南

我遇到了同样的问题,并且通过禁用该选项而消失了。

希望能帮助到你!:)

  • 我想出了另一种方法来使它起作用,但这要简单得多。谢谢! (2认同)
  • 尽管删除了内容布局指南并解决了此警告,但我相信修复它的正确方法是在可能的情况下更新对内容布局指南或框架布局指南的约束。就我而言,我使用框架布局来引导、尾随、顶部和底部;和内容布局的宽度和高度并解决我的问题。 (2认同)

Vad*_*dim 6

我也遇到了这个问题。找到了对我有帮助的好指南:

https://useyourloaf.com/blog/scroll-view-layouts-with-interface-builder/

基本上,您需要9个约束(假设您只想垂直滚动):

1-4:ScrollView到Superview(顶部,底部,前导,尾随)。确保将其连接到父视图而不是安全区域。

5-8:“内容布局”指南的内容视图(顶部,底部,前导,尾随)。

  1. 内容视图的宽度等于“框架布局指南”的宽度。

  • 对于 1-4 ,使用安全区域也有效,我认为应该使用安全区域。 (2认同)