具有两个 table 视图和标签的 Stackview 导致重叠
Stackview with two table views and labels causes overlap
我一直在尝试构建我已经在 Android 应用程序中构建的以下视图:
我使用堆栈视图垂直布局视图。有
一个标签,然后是第一个 table 视图,然后是另一个标签,然后是另一个 table 视图(Android 配置相同):
我期望的是让第一个 table 视图拉伸以容纳里面的 3 个项目,后面跟着标签,等等而不限制高度。
这是自动布局的样子:
这些是我设置的约束:
如何获得与 Android 相同的视图?
问题是基于 UIScrollView 的视图(所有 table 视图和集合视图都是)没有 return 堆栈视图的固有大小;它们理论上可以无限大。解决这个问题的正确方法不是将它们放在堆栈视图中,而是将它们添加为具有以下约束的约束子视图:
- 顶部 table 视图被约束等于其父视图的顶部、前导和尾部边缘。
- 底部 table 视图被约束为与其父视图的底部、前导和尾部边缘相等。
- 顶部 table 视图的底部锚点等于底部 table 视图的顶部锚点。
- 顶部和底部 table 视图被限制为具有相同的高度。
这将强制 table 个视图分别使用可用屏幕的一半 space,同时保持对不同屏幕尺寸的灵活性。
我一直在尝试构建我已经在 Android 应用程序中构建的以下视图:
我使用堆栈视图垂直布局视图。有 一个标签,然后是第一个 table 视图,然后是另一个标签,然后是另一个 table 视图(Android 配置相同):
我期望的是让第一个 table 视图拉伸以容纳里面的 3 个项目,后面跟着标签,等等而不限制高度。
这是自动布局的样子:
这些是我设置的约束:
如何获得与 Android 相同的视图?
问题是基于 UIScrollView 的视图(所有 table 视图和集合视图都是)没有 return 堆栈视图的固有大小;它们理论上可以无限大。解决这个问题的正确方法不是将它们放在堆栈视图中,而是将它们添加为具有以下约束的约束子视图:
- 顶部 table 视图被约束等于其父视图的顶部、前导和尾部边缘。
- 底部 table 视图被约束为与其父视图的底部、前导和尾部边缘相等。
- 顶部 table 视图的底部锚点等于底部 table 视图的顶部锚点。
- 顶部和底部 table 视图被限制为具有相同的高度。
这将强制 table 个视图分别使用可用屏幕的一半 space,同时保持对不同屏幕尺寸的灵活性。