今天接触了页面布局的东西,刘国斌老师详细的用图形编程的方式和代码都将解了一遍。代码和stroyboard感觉都比较麻烦,而且逻辑思维要求比较高。
Editor菜单上有一个Resolve Auto Layout Issues子菜单。从这个菜单中,选中Update Constraints。就我这个情况来说,这会告诉Interface Builder需要将约束变大64点,像这样:
很好,T-bars又变蓝了,布局是有效的。在Document Outline中,你可以看到Horizontal Space约束不再有一个标准的间隔了:
到目前为止你已经尝试过了Horizontal Space和Vertical Space约束。还有一个"center"约束。拖拽一个新的Button对象到画布底部中心,根据向导线完好入位:
为了保持button在水平方向上一直居中对齐于父视图,你需要增加一个Center X Alignment约束。从Editor菜单选择Align\Horizontal Center in Container.这会增加一个很长的橙色线段:
线之所以是橙色是因为你才仅仅指定了button的X轴,但Y轴并没有指定约束。使用Editor\Pin菜单在button和视图底部间增加一个Vertical Space约束。看起来像这样:
如果你不知道原因,这是Bottom Space to Superview选项。Vertical Space约束使button远离视图底部(再一次使用标准间隔)。
运行程序并旋转到横屏模式。甚至在横屏模式,button也保持在屏幕底部的中心:
这就是你表达的意思---这个button始终应该位于底部中心。注意,你根本不需要告诉Interface Builder按钮的坐标是什么,除非你想将它固定在视图上。