利用xib(storyboard)添加约束(兼容性)

来源:互联网 发布:.cn域名和com域名 编辑:程序博客网 时间:2024/06/16 20:24

如题,利用xib文件为控件添加约束,storyboard方法一样,大家都懂得,之前的Xcode只有xib没有storyboard,storyboard当然会和xib方法一样了,当然肯定有不同之处了,这不是今天的重点,所以就不再赘述了。

约束,就是对控件的限制条件,限制条件的作用就是为了让我们搭建页面适应不同的屏幕,当然也是页面的兼容性,兼容多个屏幕。

下面切入正题,如何为控件添加约束。添加约束主要用到下面的三个部分

屏幕快照 2015-06-05 下午10.18.33

从左到右:align、pin、resolve auto layout issues。单词的意思可能有同学不是很理解,不担心,不懂就点开试一下,是什么,一试便知

1、align

屏幕快照 2015-06-05 下午10.22.58

第一个模块主要是对齐的,那么对齐就要多个控件对齐,譬如:两个字空间左对齐、下对齐、X轴对齐、字控价和父控件中心对齐等

使用align主要是考虑多个控价对齐问题

 

2、pin

屏幕快照 2015-06-05 下午10.23.25

第二个模块主要是单个控件的属性,控件在父控件中的位置,控件的宽高等,主要是针对一个控件而言的。

3、resolve auto layout issues

屏幕快照 2015-06-05 下午10.23.38

第三个模块主要是对约束进行编辑的,包括删除,添加,重置约束等。

 

添加约束的几个规则

情况1:约束控件距离父控件的四周的距离

屏幕快照 2015-06-05 下午11.17.12

第一种比较简单,也比较好理解,一个控件的上下左右的距离都控制好了,控件也就控制好了,如果你切换不同的屏幕时,控件距离屏幕边框的距离不变,会改变控件的大小

屏幕快照 2015-06-05 下午11.24.42

xib中还是正方形的,但是当iPhone的屏幕上,变形了

此处大家注意一个点

⚠  如何你是一个普通控件,像button,image view(已添加图片),label等,这些控件,当我们只给他添加三个约束时,软件不会报错,这是因为控件中有内容,软件会自适应大小,会根据内容的大小来改变控件的大小,这样虽然没有报错,但是控件的大小已经不是我们想要的大小了。。。但是对于一个view来说,你只给他控制三个边,软件会报错的,软件不知道最后一条边距离父控件多远,所以他会报错。所以,要想准确控制一个控件,就要确保确定的大小或者XY值

情况2:控制控件相邻的两条边距离父控件的距离和控件的宽高

屏幕快照 2015-06-05 下午11.17.20

控制控件相邻的两条边距离,也就控制了控件的左上角的(x,y),控制控件的宽高,也就控制了控件的右下角的(x,y),这样就能控制控件了

 

情况3:控件XY轴居中,固定控件宽高

屏幕快照 2015-06-05 下午11.39.43

如果只控件XY轴居中,还是那句话,一般控件像button,image view(已添加图片),label等,软件不会报错,并会自适应大小,但是大小会改变,对于view就会报错,软件给不出控件的大小

情况4:控件X或Y居中,另一个方向的边距离父控件的距离,宽高

屏幕快照 2015-06-05 下午11.49.24

 

 

建议:建议大家在写demo的时候用view,如果用其他的控件,可能会有些问题不报错,但是用view就会暴露出来。。。


0 0
原创粉丝点击