首页 > 解决方案 > Xcode 中的 UIScrollView 使用 Springs 和 Struts

问题描述

我正在使用 swift 语言和 Spring 和 Struts 来管理 iOS 中的应用程序进行定位。由于某些原因,我必须在UIScrollView其中使用。但我找不到使用“Springs and Struts”布局定位技术实现的正确方法。

我将视图设置height为“FreeForm”,然后将Content View高度设置为 1000 像素,但所有内容都以相同的屏幕尺寸显示。

这是我的模拟器屏幕

这就是我在 Xcode 故事板中所做的

标签: iosiphoneswiftxcodeuiscrollview

解决方案


不再推荐使用 Struts 和 Springs ,您应该使用AutoLayout

但是,如果您必须:

1)禁用/取消选中视图控制器的“使用自动布局” Files Inspector,这也将禁用特征变化。

Size Inspector2)在视图控制器中将您的模拟大小更改为“固定” 。Attributes inspector确保在视图控制器中将 Simulated Metrics for Size 设置为“Inferred” 。

3)添加视图并设置自动调整蒙版的“支柱和弹簧”,以告诉视图如何在其父视图中增长和缩小。

4) 将视图所需的框架矩形设置为相对于它的超级视图的位置。

Xcode 的助理编辑器视图

您必须手动设置滚动视图的高度,因为没有其他视图可以约束框架并允许自动调整大小。为此,请在视图控制器加载后设置滚动视图的内容大小。请参阅viewDidAppear(_:)否则布局引擎无法确定按钮顶部与其父视图(滚动视图)顶部之间的垂直间距。

ScrollView 自动调整大小掩码 按钮自动调整大小蒙版 模拟器视图

同样,这是不可取的,您应该考虑迁移到 AutoLayout。


推荐阅读