我正在处理具有 UIScrollView
的布局,而我想要做的是将标签固定在可滚动区域的顶部,将按钮固定在底部,两者之间的空间最小。
这个想法是,如果标签的高度增加,按钮将被向下推,以便用户必须向下滚动才能到达它。但是,如果标签很短,它和按钮之间的空间应该增大,以便按钮停留在可滚动区域的底部。
下面是我的意思的粗略模型:
注意 : 第二张是一直滚动到UIScrollView
底部之后, 我希望按钮在滚动到顶部时隐藏;即-简单地将按钮放在 ScrollView 下方不是一种选择。
最佳答案
您只需使用自动布局即可获得所需的结果,而无需通过代码更改约束。步骤如下:
1)创建您的 ScrollView 并将其固定到所有侧面:
2) 向 ScrollView 添加一个作为内容 View 的 View 并将其固定:
3) 你的标签和按钮将被添加到这个 contentView,但在我们这样做之前,我们必须向 contentView 添加 2 个额外的约束。为 contentView 的宽度和高度创建与 SafeArea 相等的约束。您应该将等高约束的优先级设置为低 (250):
4) 在 contentView 中添加您的标签和按钮。标签固定在顶部,按钮固定在底部;
5) 最后,在标签和按钮之间添加一个垂直间距约束。将按钮和标签之间所需的最小空间量设置为该约束的常量,例如 8,并将关系设置为大于或等于:
这样,如果标签的高度增加,按钮将被向下推,因此用户必须向下滚动才能到达它。
关于ios - 填充 UIScrollView 的垂直空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50001660/