当前位置: 代码迷 >> 综合 >> IOS7 自动布局
  详细解决方案

IOS7 自动布局

热度:26   发布时间:2023-12-08 07:54:57.0

       最近一直再看,《IOS7 Development Recipes》,再第三章讲到自动布局。通过这章的学习,让我对自动布局有了新的认识,之前一直手写界面,自认为,这样灵活,但是,看过这章,就改变了我的想法了。特别再新的iphone6出来。如果继续使用之前,代码根据两个屏幕尺寸,根本改变Frame。工作量肯定很大。

        现简单总结如下:

constraint的原理是对某个控件进行限制,而不是硬编码。举个最近简单的例子,如,一个button,对它的限制是距离左右边边界的距离是20p,距离上下边界的距离是20p。这样,自然不需要再对button的frame进行设置了。而且,不管你的屏幕尺寸是多少,横屏还是竖屏。

        通过xib,storyboards,设计,有两种方法。

一,按住ctrl键,鼠标从空白处,拖拽到某一个控件


就会弹出菜单。选择,第一个Buttom Space to Bottom Layout Guide,即  设置最下方到button的距离固定

一个完整的约束


如果,你感觉这样布局,有点复杂,可以使用另一种方式来布局:


这次,我们拖入一个segment button。点击最下方的红色框选中的按钮,pin menu。可以看到,通过这个方式,可以设置两个按钮之间的距离。把需要约束的红色虚线,点击改为红色实线,如下图


然后,点击 Add 4 Contraints,即可。


使用这种方式,最容易犯的错误是:

1、约束条件不够。2、约束出现冲突

可以很简单的理解。就不再举例说明。

简单说一下,调试的方法:

运行应用,点击暂停,输入:po [[UIWindow keyWindow] _autolayoutTrace]



另一种,使用代码约束,即可视化语言(ps:没学会)。

个人见解,如有错误请指出。

转载请注明

转自:http://blog.csdn.net/ralbatr/article/details/39229045