2014-09-29 70 views
0

我试图使用{320,116} UIScrollView的自动布局,内容视图为{960,116}。我做了这样的事情,当用户向上或向下滚动滚动视图时,滚动视图展开或折叠,并且水平滚动被分页(总共三页)。iOS Autolayout动画重置内容UIScrollview的缺失

问题是当视图展开或折叠时 - 通过将顶部空间更改为顶部布局指南,将内容偏移值重置为CGPointZero,因此无论何时视图位于第2页或第3页,当用户的意愿扩大或崩溃时,将其重置为1。

UIScrollView到上海华领先的空间等于0

+0

如果'contentView'具有相同的滚动视图高度,如何上下滚动? – DeFrenZ 2014-09-29 23:26:52

+0

我添加了另一个手势识别器,它使用'translationInView'响应y轴上的触摸移动。触发方法缩短了约束常量,从而扩大了滚动视图的高度。向下滚动恰恰相反。唯一的问题是,当顶部空间约束的常量缩短时,'UIScrollView'的contentOffset被重置为CGPointZero,这意味着,如果contentOffset是{320,0},则返回页面1,因为它膨胀/崩溃。 – BridgeTheGap 2014-09-30 00:22:47

+0

那么为什么不在内部使用3个垂直未分页的'UIScrollView'制作一个单独的分页水平“UIScrollView”?如果你的目的是制作3个独立的“页面”,似乎更合理的做法。 – DeFrenZ 2014-09-30 09:04:32

回答

0

两件事情我发现。

1)在iOS7,如果不专门设置的内容视图(的UIScrollView子视图的空间和尺寸的限制),并修改约束不变,contentOffset设置为CGPointZero

2)这个问题在iOS8中不会发生,这意味着即使您没有为内容视图设置约束,contentOffset也不会重置为CGPointZero