【发布时间】:2012-03-29 10:30:31
【问题描述】:
当 UIScrollview 在 scrollViewDidScroll 委托方法中滚动时,我正在做一个很酷的 CA3DTransform。当您使用手指滚动时,它可以完美运行,因此手动滚动时一切都很完美。
但是,当我以编程方式设置滚动视图内容偏移时:
[scrollView setContentOffSet:CGPointMake(0,460) animated:YES];
它仍然调用委托方法scrollviewdidscroll,所以调用了相同的动画方法,所以我仍然看到正确的动画,但是,在动画期间和之后,视图的某些部分丢失了!我试图在所有东西上设置 layer.zPosition ,但它似乎没有帮助。应该没问题,因为手动滚动确实可以工作而不会丢失部分视图...以某种方式以编程方式调用此方法有所不同,我不知道为什么!
【问题讨论】:
-
发布您的 CATransform3D 代码,您的透视图或剪切平面很可能有些奇怪。或者,禁用 3D 透视图并确认视图仍然正确显示。然后,您可以将您的 3D 代码一块一块地带来,直到您确定问题为止。
-
我确实禁用了 3D,然后就没有问题了,所以这肯定是 3D 的问题,但只有在以编程方式滚动时。
标签: iphone ios uiscrollview layer catransform3d