1.UIScrollView的自动布局
在storyBoard中使用自定义布局拖入一个UIScrollView控件,在UIScrollView控件上添加其他控件就会报错,因为UIScrollView控件内容的宽度和高度不确定;但是通过代码创建UIScrollView控件的话,要想显示,必须设置UIScrollView控件的frame,不需要另外设置UIScrollView的内容的宽度和高度
用自动布局使用scrollView步骤
1.确定scrollView内容范围
2.如何确定scrollView内容范围
2.1添加一个子控件,这个子控件不是用来显示的,作用:确定scrollView内容范围
2. 2 通过自动布局可以确定这个子控件距离UIScrollView的上下左右的艰巨,只要在确定这个子控件的宽度和高度,那么UIScrollView的内容的宽度 = 左间距 + 右间距 + 子控件的宽度
UIScrollView内容的高度 = 上间距 + 下间距 + 子控件的高度
补充:
1.若要UIScrollView只在垂直方向滚动,设置子控件距离UIScrollView的上下左右间距都为0,然后设置子控件的宽度等于屏幕或者控制器view的宽度,子控件的高度随便等于一个大于屏幕高度的值即可,根据自己的需要的滚动范围设置
2.若要UIScrollView在垂直方向和水平方向都可以滚动,设置子控件距离UIScrollView的上下左右间距都为0,然后设置子控件的宽度等于一个大于屏幕宽度的值即可,子控件的高度随便等于一个大于屏幕高度的值即可,根据自己的需要的滚动范围设置
2.通过size和center设置一个控件的尺寸
1.如果size是从frame中取出,一定要先设置尺寸,在设置中心,因为只有确定了尺寸,才知道这个控件的中心点
先设置尺寸,在设置中心点,才能是想要的位置;
如果先设置中心点,在设置尺寸,那么就不是我们想要的位置了.先设置中心点,没有尺寸中心点不确定,没有尺寸控件就相当于一个点,只会把整个控件放在我们设置的中心点上,因为size是从frame中去出来的,在设置尺寸的时候,是以左上角为原点,向下方扩散至我们设置控件的尺寸,那么设置的所谓中心点的位置就成了控件左上角的位置了,而控件实际的中心点并不在我们设置的地方
size从frame中获取
>1养成习惯,先设置尺寸
>2再设置中心点
2.如果size从bounds取出,就不需要担心设置的先后顺序,无论谁先谁后,都是我们想要的设置.因为,控件不设置尺寸,相当于一个点,放置在我们设置的中心点位置,然而size从bounds中取出,当我们设置尺寸的时候,是以中心点向四周扩散至我们设置的尺寸,控件的中心点就在我们设置的位置上;我们先设置尺寸,有了尺寸,就确定了控件的中心点,再设置中心点的位置,我们直接拿着控件的中心点放置在我们设置的中心点的位置上,所以无论先设置谁,都是我们想要的结果
网友评论