我正在研究基於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