UIView使用约束autolayout进行居中和调整大小

时间:2014-07-18 11:11:12

标签: ios uiview constraints autolayout

我正在尝试将我的iPhone应用转换为通用应用,但我真的无法弄清楚这些限制。尝试阅读关于自动布局的整章但仍然无法管理它。

因此我的视图控制器中有2 UIViews,这是一个正方形。如果它是纵向的,方块将很好地显示。但是当我将iPad变成横向时,正方形会变成矩形。真的尝试了一切。

问题还在于,如果我设法将它们放在中心位置,它们应该调整到更小的尺寸。认为这也可以通过自动布局实现。

以下是我UIViews的基本设置:

Basic View

使用新建议进行编辑:

Try New try

所以这几乎是完美的,但它应该是一个正方形。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您需要以下约束:

垂直:

  • 顶部正方形固定在插图10的超视图
  • 顶部方形固定到底部正方形,插入10
  • 底部正方形固定到插图10的超视图

水平:

  • 顶部正方形固定在左边缘,插入10(低优先级)
  • 顶部方形固定到右边缘,插入10(低优先级)
  • 以superview为中心的顶部正方形
  • 底部正方形的左边缘固定在顶部正方形的左边缘

尺寸:

  • 顶部方形宽高比为1:1(从视图到自身的ctrl-drag实现此目的)
  • 底部方形宽度和高度固定到顶部正方形

这将使您的两个正方形尽可能多地填充垂直空间,同时不会重叠或超出视图范围。

答案 1 :(得分:0)

关于自动布局,基本的事情是可视化视图的变化方式,并找出所有需要附加的内容,以及在视图布局更改时需要修改的内容。

  • 确保在布局中将固定值标记为已修复
  • 确保所有约束都由您设置。自动设置 约束可能无法按预期运作

你必须阅读这篇优秀的tutorial by Matthijs Hollemans