码迷,mamicode.com
首页 > 其他好文 > 详细

使用 autolayout 在scrolleView中进行布局

时间:2014-10-16 00:15:01      阅读:300      评论:0      收藏:0      [点我收藏+]

标签:使用   ar   for   strong   sp   on   问题   代码   ef   

相信有很多人因为iPhone6出来后 ,因为适配而选择开始使用autolayout。现在正在被虐中。。。    今天要做一个在scrollView上面 可以滚动的效果  平时用代码写 感觉很快  , 被autolyout 坑死了 。  弄了好久才知道为什么 scrollView 不能滚动。

  话不多说  首先创建一个新的工程 。然后往view 上面加载一个scrollView 并加好约束 。 这里是让他铺满整个屏幕。没什么技巧 。

bubuko.com,布布扣

 

然后 ,我就想是不是设置下 contentSize  就行了  。结果发现我天真了  打开了autol ayout后真没找到可以设置contentSize的地方 ,后来查了下才知道好像是说

如果把自动布局打开,在storyboard中系统会默认根据你添加的subview自动生成同样大小的contentsize

对了  这就是我们接下来要做的事  既然是根据subView 那么 我再加个View上去 不就可以了吗? 说加就加  开始 然后铺满整个屏幕

这个时候就会出现这么两个警告 

bubuko.com,布布扣 

这两个警告是说 在宽度上 和高度上  你让不让我左右 或者 上下 滚动你表达的很模糊  它不清楚

其实我想说 我也不清楚究竟怎么样你才能滚动 。所以 ,我决定先不管他  。直接运行 ,要是就可以呢?那我不是白担心了 。

结果果然不出我所料啊  怎么拉都不会滚。

于是  我惊喜的发现但我把最后加上去的View的高和宽都固定后 没有警告了 。突然发现我运气太好了 ,结果就是 都滑成这样了 ,就是不滚动。

bubuko.com,布布扣

所以这个时候就没得弄了  ,然后想想可能是哪里出了问题  ,很显然我不能把他的 宽和高 定死 ,因为这个时候没了警告,说明Xcode很清楚我不需要滚动。这个时候我更茫然了 ,然后 再看这句话

如果把自动布局打开,在storyboard中系统会默认根据你添加的subview自动生成同样大小的contentsize

哦 对了 subView 的大小应该要超过scrollView 这样才能滚动 这个用代码也是这么用的 

好 那我就把view的大小设置成PING屏幕的两倍好了 。

bubuko.com,布布扣

这时候发现由于View 的高度太高 storyboard 显示不下 成了这个样子 。 这时有部分人运行已经可以滑动了。 但是还有运气不好仍然不可以滑动,不要心急。我们接着来。到底是什么在作怪。  其实 ,可能就是你的约束没加对 ,这个时候检查下约束,要让scrollView和View 的顶部 和底部都有约束 并且一定要让scrollView包含view 对的你没有听错  view 是比ScrollView大很多 。但是正是这样,才符合 scrollview的内容比他本身大 ,所以这个时候你就可以滚动了。 其实想通了还是不难的 。

好了 。接下来还有更重要的 。上面那么个样子 你怎么往上面加视图呢? 我是这样处理的 点击  storyboard 设置size  变为Freeform

bubuko.com,布布扣

然后 再把storyboard的宽度和高度重新设置  320  和 568*2  就变成这个样子了

bubuko.com,布布扣 

是不是很长了  ,为了证明可以直接往上面加约束 ,所以加点东西上去  直观点

bubuko.com,布布扣

好  弄完 收工  。

至于怎么拉约束线我就没有详细写  有很多博客都有介绍。 下次再写个关于 约束实现简单动画的博客 。可以给初学者借鉴下。证明大家都被虐过。

 

使用 autolayout 在scrolleView中进行布局

标签:使用   ar   for   strong   sp   on   问题   代码   ef   

原文地址:http://www.cnblogs.com/studyios/p/4027355.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!