新浪微博 有道云笔记 麦库 EverNote Pocket Instapaper 更多

【Auto Layout】Xcode6及以上版本,创建Auto Layout 约束时产生的一些变化【iOS开发教程】

【#Auto Layout#】Xcode6创建Auto Layout 约束时产生的一些变化
 
 
 
通过两个小Demo来展示下变化:
Demo1需求:
为控制器的根视图(图中的“控制器View”)的子视图(图中的View)添加顶部约束10
 
 
运行效果:
没有从顶部开始,似乎是从statusbar的20高度以外开始计算的
 
 
出错原因
添加到控制器根视图的顶部约束,默认添加到的是Buttom Layout Guide,也就是从status bar 的20高度开始,
同理设置底部约束时,也尽量不要选择默认的Bottom Layout Guide,否则当有tabbar栏导航栏也会出现类似的问题。

 

 
 

Demo2
需求:在控制器的根视图上添加约束,顶部、底部、左边缘、右边缘均设置为0
 
 
运行后的效果,并非期望中的,原因是Xcode默认勾选的是✅Contrain to margins ,而从Xcode6开始,Contrain to margins 的值是16(Xcode为了照顾6Plus做的特殊设置),而不在是0;
要想达到预期的效果,有两种方法:⓵取消勾选该按钮⓶勾选该按钮,并将左边缘和右边缘的约束设为-16(如下图所示)
 
 
另外在设置顶部约束和底部约束时也尽量不要选择默认的,尽量点击右侧的小箭头,在弹框中选择父视图,如下图所示:
 
 
posted @ 2015-05-25 00:33  iTeaTime(技术清谈)  阅读(973)  评论(0编辑  收藏  举报