如何使用自动布局 beta 7 UIKIT 修复 xcode 11 中可滚动内容大小的歧义

Posted

技术标签:

【中文标题】如何使用自动布局 beta 7 UIKIT 修复 xcode 11 中可滚动内容大小的歧义【英文标题】:How to fix scrollable content size ambiguity in xcode 11 using auto layout beta 7 UIKIT 【发布时间】:2019-09-06 08:17:42 【问题描述】:

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

当我从滚动视图右键单击拖动到整个主视图时,我得到以下选项:

将空间引向安全区域 顶部空间到安全区域 到安全区域的尾随空间 底部空间到安全区域 在安全区域水平居中 在安全区域垂直居中 在其他视频中,我似乎没有“等宽”和“等高”选项。

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

我目前使用的是 beta 7

【问题讨论】:

我正在等待答案。你解决了吗? 【参考方案1】:

经过反复试验,我终于能够在 Xcode 版本 11.0 (11A420a) 中使用故事板成功添加 UIScrollView。

您可以将滚动视图直接添加到 VC 的根 UIView 中,或者根据您的 UI 设计需要,将其添加到根视图下的另一个 UIView 中。根据您的需要,通常约束 UIScrollView 父级。

这里是关键:当您将 UIScrollView 添加到情节提要时,单击选中 UIScrollView 的 Size Inspector。您必须取消选中显示“内容布局指南”的框。

如果你这样做,你可以正常设置滚动视图的约束(我对超级视图做了 0-0-0-0)。然后我在滚动视图中添加了一个 UIView 并将它的约束设置为 0-0-0-0 和 900 的高度(这是我想要的)。 这将在您设置约束错误时将其显示为红色。它们将通过将 UIView 的宽度设置为等于 UIScrollView 的宽度来修复。

设置 UIView 宽度等于 UIScrollView 视图的宽度,方法是按住 Ctrl 并右键单击 UIView,拖动到 UIScrollView,然后选择“等宽”选项。这应该可以消除您的约束错误。

然后你实际上可以回到 UISCrollView Size Inspector 并检查“Content Layout Guides”复选框,不会出现约束错误。

【讨论】:

【参考方案2】:

在滚动视图属性中禁用内容布局指南。 希望它有所帮助.. :)

【讨论】:

以上是关于如何使用自动布局 beta 7 UIKIT 修复 xcode 11 中可滚动内容大小的歧义的主要内容,如果未能解决你的问题,请参考以下文章

swift 在Xcode 6 GM + iOS 7.1中修复UICollectionViewCell损坏的自动布局约束

Beta 冲刺 (6/7)

Beta冲刺 (6/7)

Beta 冲刺 (6/7)

使用百分比宽度进行布局时如何修复 Internet Explorer 7 错误?

Beta冲刺NO.7