我无法使用自动布局

时间:2014-05-20 06:07:14

标签: ios iphone objective-c autolayout

我有xib文件,如下所示。它有UIImageViewUITableView和两个UIView s(容器),由两个button组成。有时我的tableView会有数据填写tableRows,有时则不会。如果没有要填充tableView的数据,我必须隐藏它。当我删除tableView时,我的两个容器应该出现在它的位置。我怎样才能做到这一点?感谢。

我的xib文件如下图所示:

enter image description here

3 个答案:

答案 0 :(得分:1)

只需将自动调整遮罩设置为两个容器视图的附加图像。

Set autoresizing as this

答案 1 :(得分:1)

如果您知道autolayout,那么您可以轻松地创建一些布局约束,以便根据您的条件遵循以下流程将子视图添加到superview的约束

  1. 将前导,上限,尾随添加到imageview。
  2. 在tableview和imageview与tableview之间添加行距,顶部,尾部
  3. 创建tableview的高度约束并创建它的iboutlet。当你没有数据然后将其设置为高度约束时,它的值可以是程序化的,否则就按原样设置它。
  4. 在保存视图中添加前导,顶部,尾随,并在tableview和保存视图之间添加垂直间距。
  5. 在您的视图中添加前导,顶部,尾随,并在保存视图和类似视图之间添加垂直间距。添加底部间距到喜欢的视图

答案 2 :(得分:1)

我强烈建议您了解Autolayout的概念,它将简单地解决您的问题。 在这里你可以找到一个很好的教程

Auto Layout

您可以为表视图设置高度约束,也可以设置tableview到容器1,容器1到容器2之间的垂直间距。然后,只要没有数据,就可以将高度约束设置为0。因此视图会自动移动

注意:您还需要设置其他相对约束。在看了上面的教程

后,您将了解相关知识