我有一个非常大的水平滚动的UIScrollView这是重用它的子视图(移动,并更新他们时,他们都出来了可视面积,像类似的UITableView是重复使用的细胞)。 这依赖于scrollViewDidScroll:委托调用,这给了我实际contentOffset,在这里,我决定什么时候重新使用特定的子视图。 到现在为止还挺好。
有时候,我需要通过编程修改contentOffset,但与自定义动画(惯性反弹到最终位置)。 我可以使用核心动画做到这一点很容易。
问题是,期间自定义动画scrollViewDidScroll:委托方法不叫- >我必须做手工,这样子视图重用的作品。 我试图与计时器射击每个0.02秒调用它。 现在有两个问题:
我必须用[_scrollView.layer表示层]界限] .origin.x因为动画在正常_scrollView.contentOffset不改变得到的UIScrollView contentOffset。
但是从表示层信息不足以精确同步-有时是有点晚了。
问题是,当新的contentOffset是远离当前位置。 它看起来像内置的UIScrollView动画CAKeyframeAnimation,并scrollViewDidScroll应该被称为关键帧的位置。 但我不能够得到这些。
如果我靠,这是不符合关键帧同步计时器,意见被重用在错误的地方和动画中我看不到它们。
任何人都可以阐明setContentOffset期间的UIScrollView如何以及究竟何时调用scrollViewDidScroll一些轻:X动画:YES? 是否有可能重现它没有打破AppStore的规则?