自动布局:设置高度视图取决于其他高度视图

时间:2017-07-25 02:22:19

标签: ios swift autolayout

我需要在布局中实现AutoLayout。在屏幕截图下方:

1

enter image description here

2

enter image description here

案例是:

我在ViewUITableView中有一个ShinobiDataGrid。第一张图片是第一张图片,在第一张图片中,我希望view的高度为高度View Controller

第二张和第三张照片是有TableView时的图片。我希望TableView始终位于View Controller的底部,View的高度取决于高度Table View

我读了thisthis以及所有关于此的参考资料,但它对我不起作用。任何建议和答案都会对我有所帮助。在此先感谢

编辑: 我阅读了一些关于自动布局的文章,我在下面得到了这个:

1

enter image description here

    2。

    enter image description here

    但是在第一张图片中,UIView仍与主视图有距离。我希望它只有3或4点从主视图底部如下:

    enter image description here

    不,我有一个从UIView到UITableView的约束。我从UIView添加一个约束到底部主视图与自定义优先级,常量等,但它不起作用。再次感谢提前

2 个答案:

答案 0 :(得分:1)

1.我建议您将UITableView与节页眉和页脚一起使用,不要滚动。将您的视图添加到UITableViewCell。根据您的要求使用自定义单元格填充UITableView。

2.您也可以使用UIStackView。添加您的所有观点&表视图到Interface Builder中的垂直堆栈视图。保持分配均等。第一次隐藏你的UITableView。您的视图将覆盖完成,然后在需要时显示/隐藏tableview并更新堆栈视图。 约束你的观点&关于堆栈视图的表视图。 UIStackView管理自动布局。

3.我会使用带有静态单元格(没有滚动)的UITableViewController,其中包含视图和tableviews作为静态UITableViewCells的子视图。第一次在heightFoRowAtIndexPath中传递完整的高度。当tableview可见时。重新加载tableview控制器并相应地传递高度。

而不是在单元格内使用UITableView。我建议使用UIStackView作为子视图单元格。在UIStackView中显示您的数据。

答案 1 :(得分:0)

  1. 首先添加scrollview。
  2. 添加First View的高度约束等于视图控制器。
  3. 在下面,添加tableview,获取动态高度并根据它进行更改。您可以在此处查看my answer