我正在研究基于Apple的PhotoScroller示例的文档查看器应用程序(https://developer.apple.com/library/IOs/samplecode/PhotoScroller/Introduction/Intro.html)。为什么在向我的滚动视图添加子视图时会出现不需要的动画?
我反应的缩放和滚动事件来加载映入眼帘新的网页,和旧的页面被回收,以减少产生新的开销。
我也有在应用程序的自动缩放(通过zoomToRect
或通过设置contentOffset
)。的处理程序中缩放和滚动事件里面,我添加新的页面需要:
[self configurePage:page forIndex:index]; //sets frame, loads image,...
[self.scrolledView addSubview:page];
最让我惊讶的是,有时我看到一个页面,通过屏幕飞从左至右。通过一些日志记录,我确定它是一个新页面(以前从未使用过)。
这是怎么发生的?我怎么能阻止它?
期待您的建议....
ETA:当应用程序放大到一个页面上我这样做,与[UIScrollView zoomToRect:animate:NO]
的[UIView animateWithDuration: ...]
块内有过动画的速度控制。
我现在有我的配置和动画过程中加入,这将是可见的所有网页,并开始[UIView animateWithDuration: ...]
动画事后才希望它的行为。
不过我很惊讶调用[self.scrolledView addSubview:page];
缩放和滚动事件处理内部,可能会导致动画。如果任何人有一个线索如何以更清洁的方式阻止,请让我知道。
您使用的自动布局?你用UIView.animate制作动画吗?? – 2014-12-02 16:37:47
感谢您的想法。我不使用自动布局和我已经使用的唯一动画[UIScrollView的zoomToRect:动画:NO] UIView的animateWithDuration内:.... – 2014-12-02 20:21:06
你使用Interface Builder来设置的东西,或者你做编程? – 2014-12-04 11:58:45