在做自动布局之前首先大家都知道一个自动布局,自动布局在我理解就是为了适配任何的屏幕。每一个控件的自动布局都是为了确定这个控件的位置,但是一个控件的位置确定是需要四个条件,就是她的上下左右以及宽度和高度以及水平居中垂直居中等系列的条件决定一个控件的位置;下面我们就以在iOS开发中被广大开发者认为是“刺头”的ScrollView为例来说明一下ScrollView的布局;首先我们新建一个工城叫做ScrollView的自动布局:
首先我们在storyboard中添加一个scrollView然后设置背景颜色都是红色;
现在运行项目:
运行效果就是红色的scrollView下面我们在这个ScrollView上面添加一些子控件我在scrollView上添加了三个子控件我并且为啥那个子控件都设置了自动布局但是依然报错,每一个子控件都有距离上面和左面还有自己的宽度和高度但是依然报错,不是小编的设置有问题,即使运行之后控件也不能滑动,我在控制器中设置了自己scrollView的contentsize之后能滑动但是布局还报错!原因:scrollView不知道自己的contentoffset所以才会报错,下面小编就把自己对scrollView的自动布局跟大家分享一下吧!首先小编就把那些刚才弄的那些小控件给删除了啊!要想利用storyboard来直接设置Contentsize只需要在scrollView上面添加一个占位视图下面我给大家演示一下:
我们给scrollView中添加一个唯一的子控件以后再scrollView上添加的任何东西都加载这个唯一的子控件上面,但是有一个问题就是我给这个唯一的子控件设置约束是距离scrollView都是零但是还是没有设置scrollView的contentsize其实这个有一个不符合规则的就是当你设置那样的约束之后,大家都认为不能给那个给那个唯一的子控件设置高度呢!其实在给这个唯一的子控件设置高度就是scrollView的contentsize,但是做到这一步还有一个问题那个布局依然报错,原因是你还需要设置这个唯一的子控件的水平或竖直方向居中,因为这样你就可以确定scrollView的滚动情况啊!当你设置完成之后scrollView的布局你就直接可以用Storyboard布局啦!因为我这个是竖直滚动啊!
当你想让SCrollView水平滚动的时候只需给那个唯一的子控件设置宽度以及竖直居中就OK!
scrollView的自动布局不依靠代码直接在XIB或者storyboard中就可以完成了!希望对大家有用!
网友评论