iOS自动布局问题

时间:2013-10-22 09:08:07

标签: ios xcode autolayout

我是新手自动布局,遇到了一些问题。采取以下纵向视图: Portrait View

我希望能够旋转设备并获得如下所示的视图:

Landscape view

按钮和标签具有固定的高度,因此我希望图像视图和表格视图可以调整大小。我无法弄清楚如何使用自动布局实现这一点。它甚至可以实现吗?

我已经能够做类似的事情,但图像视图的高度固定,但这是我不想要的。

提前致谢。

2 个答案:

答案 0 :(得分:2)

是的,您可以使用AutoLayout实现此目的。

UIImage查看:

  • 顶级空间:Superview = 0
  • 尾随空格:Superview = 0
  • 领先空间:Superview = 0
  • 底部空间:UIButton = 0
  • 高度大于或等于:(某些最小尺寸)

的UIButton:

  • 顶部空间:ImageView = 0
  • 尾随空格:Superview = 0
  • 领先空间:Superview = 0
  • 底部空间:UILabel = 0
  • 高度等于:(某个高度)

的UILabel:

  • 顶部空间:UIButton = 0
  • 尾随空格:Superview = 0
  • 领先空间:Superview = 0
  • 底部空间:UITableView = 0
  • 高度等于:(某个高度)

的UITableView:

  • 顶部空间:UILabel = 0
  • 尾随空格:Superview = 0
  • 领先空间:Superview = 0
  • 底部空间:Superview = 0
  • 高度大于或等于:(某些最小尺寸)

答案 1 :(得分:1)

我认为你不能只在IB中做到这一点。在我看来,你有两个选择:

  1. 使用VLF以编程方式执行所有操作,添加约束并使用UIViewController的旋转方法删除它们
  2. 在IB中添加所有约束,为纵向约束赋予最大优先级,并将横向约束设置为最低。在根据方向旋转之前,您可以更改优先级,从低到高,反之亦然
  3. 如果你给UIImageView和UItableView提供与约束相同的高度,你可以按照自己的意愿做。