好的,我这里有一个复杂的场景。我有一个水平滚动的滚动视图,包含瓷砖,一次在屏幕上居中,用户仍然能够看到左侧或右侧是否有更多,通过两侧可见两个视图的边缘。我能够以编程方式将视图添加到scrollview并使分页正常工作,因此用户可以在它们之间来回切换。另一个要求是在第一个视图滑入时有一个初始动画,然后由第二个视图向左反弹。我通过使用一系列UIView动画完成了这项工作,效果很好。
这是我的问题:动画完成后,您无法向左滚动以转到创建的第一个UIView。我怀疑这是因为它在scrollview的内容区域的左侧被动画化了。我试图增加scrollview的contentSize,但我仍然得到相同的行为。一旦初始的scrollview被移到左边,我就不能滑到页面了。
我是否可以用更好的方式来实现这一目标?
答案 0 :(得分:2)
听起来像是你将子视图的框架设置为左边的动画,以便第一个视图框架的x坐标为负,而不是将滚动视图的contentOffset设置为右边的动画。如果是这种情况,您是不是只在动画块中设置滚动视图的contentOffset?如果有原因,如果在动画完成后你“修复”了内容偏移和子视图的帧,那么没有任何视图处于负面位置。
但是,我想我现在有更多的问题而不是答案,因此发布代码可能有助于展示您如何制作动画,以便更轻松地回答您的问题。