1
sablib 2015-07-13 22:56:02 +08:00 1
ContainerView宽高不应该等于View吧,它的宽高要看你想ScrollView怎么滑,
如果想ScrollView只能上下滑,那就ContainerView宽等于View,只能左右滑的话就高等于View。 都能滑的话ContainerView的宽高当然要大于View,因为自动布局之后Container的大小就是ScrollView的contentSize。 |
2
simpleapples 2015-07-14 09:01:23 +08:00
uiscrollview设置autolayout相对麻烦一些,推荐看下这篇文章:
http://natashatherobot.com/ios-autolayout-scrollview/ |
3
CommandZi 2015-07-14 09:38:30 +08:00
前些天我也研究了一下,<http://chn-lyzhi.github.io/jekyll/update/2015/07/13/iOS%20开发-UIScrollView%20+%20Auto%20Layout%20+%20Size%20Classes.html>
我们可以一起探讨下。问题可能是ScrollView无法确定ContentSize |
4
ashamp 2015-07-14 09:39:19 +08:00 1
1.scrollView与scrollView的superview的约束关系用来确定scrollView的frame
2.scrollView中的『contentView』的约束关系用来确定scrollView的contentInsets 3.contentView的宽度和高度用来确定scrollView的contentSize |
5
CommandZi 2015-07-14 09:40:17 +08:00
请教正确的回帖方式~
|
6
bawn 2015-07-14 10:00:50 +08:00
|
7
yfmir 2015-07-14 10:17:43 +08:00
4楼 正解
抱着 ‘我要怎样才能让scrollView知道我所需要的contentSize’ 这个想法去创建约束值就好了 不过如果要兼容低版本系统活着低配置机型的话,不太建议使用autolayout来计算contentSize,特别是复杂的布局 |
9
ashamp 2015-07-14 10:32:20 +08:00
@zioc
1.约束contentView的宽度与scrollView相等 2.约束contentView的高度为你所需要的高度 之后contentView就相当于一个"画布",你的UI都可以在这里布局了 |
11
krafttuc 2015-07-16 19:30:11 +08:00
|
12
huanglexus 2015-07-17 11:22:02 +08:00
我觉得 scrollview 内部直接用frame更简单,用autolayout简直就是自讨苦吃
|
13
EggmanQ 2015-07-20 21:43:49 +08:00
嗯。。。刚解决这个问题。。。
说说解决方法吧,原理楼上有了。 我的情况是,一个 table 一个 collection 在同一个 view,view需要有拖动手势来切换,所以我用 scrollview 来包起它们了。 然后用一个 外部‘参照View’ 来作为 content 的参照,‘参照view’的 autolayout 设置跟 scrollview (上左下右)一样。 然后 重点就是,table 和 collection 的 autolayout 除了要确定边界之外,还需要通过 ‘参照view’ 来确定 width 和 height,从而让 scrollview 知道 content size,所以 table 和 collection 最后还需要添加 width 和 height 两个约束。 最后三个 subview 都能正常工作了。 |