利用xib对控件添加约束 适配屏幕
2016-04-18 16:29
573 查看
这位po主整理的非常详细 解答了我最近对xib的困惑 受益良多 感谢。因此转载到自己的博客 多学习。
原文地址:http://blog.it985.com/11997.html
约束,就是对控件的限制条件,限制条件的作用就是为了让我们搭建页面适应不同的屏幕,当然也是页面的兼容性,兼容多个屏幕
下面切入正题,如何为控件添加约束。添加约束主要用到下面的三个部分。
![](http://blog.it985.com/wp-content/uploads/2015/06/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7-2015-06-05-%E4%B8%8B%E5%8D%8810.18.33.png)
从左到右:align、pin、resolve auto layout issues。
1、align
![](http://blog.it985.com/wp-content/uploads/2015/06/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7-2015-06-05-%E4%B8%8B%E5%8D%8810.22.58-280x300.png)
第一个模块主要是对齐的,那么对齐就要多个控件对齐,譬如:两个字空间左对齐、下对齐、X轴对齐、字控价和父控件中心对齐等
使用align主要是考虑多个控价对齐问题
2、pin
![](http://blog.it985.com/wp-content/uploads/2015/06/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7-2015-06-05-%E4%B8%8B%E5%8D%8810.23.25-193x300.png)
第二个模块主要是单个控件的属性,控件在父控件中的位置,控件的宽高等,主要是针对一个控件而言的。
3、resolve auto layout issues
![](http://blog.it985.com/wp-content/uploads/2015/06/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7-2015-06-05-%E4%B8%8B%E5%8D%8810.23.38-300x222.png)
第三个模块主要是对约束进行编辑的,包括删除,添加,重置约束等。
添加约束的几个规则
情况1:约束控件距离父控件的四周的距离
![](http://blog.it985.com/wp-content/uploads/2015/06/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7-2015-06-05-%E4%B8%8B%E5%8D%8811.17.12-300x251.png)
第一种比较简单,也比较好理解,一个控件的上下左右的距离都控制好了,控件也就控制好了,如果你切换不同的屏幕时,控件距离屏幕边框的距离不变,会改变控件的大小
![](http://blog.it985.com/wp-content/uploads/2015/06/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7-2015-06-05-%E4%B8%8B%E5%8D%8811.24.42-300x133.png)
xib中还是正方形的,但是当iPhone的屏幕上,变形了
情况2:控制控件相邻的两条边距离父控件的距离和控件的宽高
![](http://blog.it985.com/wp-content/uploads/2015/06/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7-2015-06-05-%E4%B8%8B%E5%8D%8811.17.20-300x259.png)
控制控件相邻的两条边距离,也就控制了控件的左上角的(x,y),再控制控件的宽高,就能控制控件了。
情况3:控件XY轴居中,固定控件宽高
![](http://blog.it985.com/wp-content/uploads/2015/06/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7-2015-06-05-%E4%B8%8B%E5%8D%8811.39.43-300x266.png)
情况4:控件X或Y居中,另一个方向的边距离父控件的距离,宽高
![](http://blog.it985.com/wp-content/uploads/2015/06/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7-2015-06-05-%E4%B8%8B%E5%8D%8811.49.24-300x244.png)
原文地址:http://blog.it985.com/11997.html
约束,就是对控件的限制条件,限制条件的作用就是为了让我们搭建页面适应不同的屏幕,当然也是页面的兼容性,兼容多个屏幕
下面切入正题,如何为控件添加约束。添加约束主要用到下面的三个部分。
![](http://blog.it985.com/wp-content/uploads/2015/06/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7-2015-06-05-%E4%B8%8B%E5%8D%8810.18.33.png)
从左到右:align、pin、resolve auto layout issues。
1、align
![](http://blog.it985.com/wp-content/uploads/2015/06/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7-2015-06-05-%E4%B8%8B%E5%8D%8810.22.58-280x300.png)
第一个模块主要是对齐的,那么对齐就要多个控件对齐,譬如:两个字空间左对齐、下对齐、X轴对齐、字控价和父控件中心对齐等
使用align主要是考虑多个控价对齐问题
2、pin
![](http://blog.it985.com/wp-content/uploads/2015/06/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7-2015-06-05-%E4%B8%8B%E5%8D%8810.23.25-193x300.png)
第二个模块主要是单个控件的属性,控件在父控件中的位置,控件的宽高等,主要是针对一个控件而言的。
3、resolve auto layout issues
![](http://blog.it985.com/wp-content/uploads/2015/06/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7-2015-06-05-%E4%B8%8B%E5%8D%8810.23.38-300x222.png)
第三个模块主要是对约束进行编辑的,包括删除,添加,重置约束等。
添加约束的几个规则
情况1:约束控件距离父控件的四周的距离
![](http://blog.it985.com/wp-content/uploads/2015/06/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7-2015-06-05-%E4%B8%8B%E5%8D%8811.17.12-300x251.png)
第一种比较简单,也比较好理解,一个控件的上下左右的距离都控制好了,控件也就控制好了,如果你切换不同的屏幕时,控件距离屏幕边框的距离不变,会改变控件的大小
![](http://blog.it985.com/wp-content/uploads/2015/06/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7-2015-06-05-%E4%B8%8B%E5%8D%8811.24.42-300x133.png)
xib中还是正方形的,但是当iPhone的屏幕上,变形了
情况2:控制控件相邻的两条边距离父控件的距离和控件的宽高
![](http://blog.it985.com/wp-content/uploads/2015/06/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7-2015-06-05-%E4%B8%8B%E5%8D%8811.17.20-300x259.png)
控制控件相邻的两条边距离,也就控制了控件的左上角的(x,y),再控制控件的宽高,就能控制控件了。
情况3:控件XY轴居中,固定控件宽高
![](http://blog.it985.com/wp-content/uploads/2015/06/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7-2015-06-05-%E4%B8%8B%E5%8D%8811.39.43-300x266.png)
情况4:控件X或Y居中,另一个方向的边距离父控件的距离,宽高
![](http://blog.it985.com/wp-content/uploads/2015/06/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7-2015-06-05-%E4%B8%8B%E5%8D%8811.49.24-300x244.png)
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- Android布局的小窍门?
- Web布局连载——两栏固定布局(五)
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- 绝大部分 Android 手电筒应用需要大量权限
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 这些看似合法的 iPhone Lightning 数据线将劫持您的电脑
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 我的iPhone桌面
- flex 控件的重要属性
- Delphi控件ListView的属性及使用方法详解
- 样式表CSS布局经验
- 在winform下实现左右布局多窗口界面的方法之续篇
- web下载的ActiveX控件自动更新