自动布局多个视图

时间:2015-08-10 11:02:18

标签: ios swift user-interface autolayout

我尝试使用自动布局在viewController中定位以下视图,这些视图在不同的设备上可能有不同的尺寸:

Auto layout

所有UILabel应该从顶部或底部以及它们之间有固定的空间。 根据剩余的空间和宽高比为1:1,UIImageView应具有灵活的宽度和高度。

UILabels有以下限制:

  • 顶部空间
  • 底部空间
  • 容器中的水平中心

UIImage视图具有以下约束:

  • 容器中的水平中心
  • 1:1比率
  • 要标记的底部空间
  • 标注的顶部空间
  • 宽度:100(优先级250)
  • 身高:100(优先级250)

在Xcode预览中,一切看起来都不错,但在运行应用程序时,UIImage覆盖整个屏幕,而不是正确调整其宽度和高度。

3 个答案:

答案 0 :(得分:1)

首先确保ImageView上方的标签与Top space to Top Layout Guide相关联,ImageView下方的最底部标签与Bottom space to bottom Layout Guide相关联。

检查ImageView下方的所有标签是否都与该标签挂钩。 现在检查图像视图是否挂钩到顶部和底部标签。给width constraint并获得一个出口。

根据约束ImageView的高度根据屏幕高度而变化。 可以使用宽度出口在程序中相应地更改宽度,如下所示

self.img_width.constant = self.imgView.frame.size.height;

希望这能解决你的问题。

答案 1 :(得分:0)

从每个组件中删除边距。

答案 2 :(得分:0)

只需在主视图&&和将乘数乘以0.5