ios - 填充 UIScrollView 的垂直空间

标签 ios xcode user-interface

我正在处理具有 UIScrollView 的布局,而我想要做的是将标签固定在可滚动区域的顶部,将按钮固定在底部,两者之间的空间最小。

这个想法是,如果标签的高度增加,按钮将被向下推,以便用户必须向下滚动才能到达它。但是,如果标签很短,它和按钮之间的空间应该增大,以便按钮停留在可滚动区域的底部。

下面是我的意思的粗略模型:

enter image description here

注意 : 第二张是一直滚动到UIScrollView底部之后, 我希望按钮在滚动到顶部时隐藏;即-简单地将按钮放在 ScrollView 下方不是一种选择。

最佳答案

您只需使用自动布局即可获得所需的结果,而无需通过代码更改约束。步骤如下:

1)创建您的 ScrollView 并将其固定到所有侧面:
enter image description here

2) 向 ScrollView 添加一个作为内容 View 的 View 并将其固定:
enter image description here

3) 你的标签和按钮将被添加到这个 contentView,但在我们这样做之前,我们必须向 contentView 添加 2 个额外的约束。为 contentView 的宽度和高度创建与 SafeArea 相等的约束。您应该将等高约束的优先级设置为低 (250):
enter image description here

4) 在 contentView 中添加您的标签和按钮。标签固定在顶部,按钮固定在底部;

5) 最后,在标签和按钮之间添加一个垂直间距约束。将按钮和标签之间所需的最小空间量设置为该约束的常量,例如 8,并将关系设置为大于或等于:
enter image description here

这样,如果标签的高度增加,按钮将被向下推,因此用户必须向下滚动才能到达它。

enter image description here

关于ios - 填充 UIScrollView 的垂直空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50001660/

相关文章:

用于登录 Twitter 的 iOS 库

ios - 摇晃识别在 iOS 4 上不起作用,但在 iOS 5 上有效

cocoa - 在 Mac 应用程序中显示 View 嵌套的标志是什么?

java - 如何更改 JTabbedPane 中的选项卡位置?

ios - 如何在小游戏中正确复用UIView?

ios - 如何在 iPhone SDK 中获取 facebook 相册的照片?

ios - 在 Swift 4 中垂直调整 .xib(单元格)的大小

iphone - 获取iPhone/iPad屏幕上显示的文字

iOS 设计此逻辑/工作流程涉及 CoreLocation、Web 服务调用、加载 UI

qt - 在 QTabBar 中隐藏底线