我需要使用UIScrollView爲我的應用程序創建一個主菜單。我有一些可以點擊的圖像。當我在背景上滾動UIScrollView時,還有其他兩個視圖會移動,從而產生視差效果。 有人可以給我一個示例代碼?我試圖與UIScrollView菜單和視差效果
-(void) scrollViewDidScroll:(UIScrollView *)scrollView
但我找不到任何關於在我的項目上應用的生產性示例。
我需要使用UIScrollView爲我的應用程序創建一個主菜單。我有一些可以點擊的圖像。當我在背景上滾動UIScrollView時,還有其他兩個視圖會移動,從而產生視差效果。 有人可以給我一個示例代碼?我試圖與UIScrollView菜單和視差效果
-(void) scrollViewDidScroll:(UIScrollView *)scrollView
但我找不到任何關於在我的項目上應用的生產性示例。
這是怎麼回事? imageView將向上滾動一半,與UIScrollView一樣快。
float y = scrollView.contentOffset.y;
CGRect imageFrame = self.imageView.frame;
imageFrame.origin.y = y/2;
self.imageView.frame = imageFrame;
這GitHub的倉庫有一個驚人的實現,它工作得很好: https://github.com/ralfbernert/RBParallaxScrolling
這裏是我的代碼的測試,使用具有分頁一個UIScrollView(在前面)和背景的圖像: http://clrk.it/211o3h0A053m
的代碼,不會這招視差原理如下位:
-(void)scrollViewDidScroll:(UIScrollView *)scrollView {
if (scrollView == _scrollView) {
float speedFactor = _headerImageScrollView.contentSize.width/_scrollView.contentSize.width;
[_headerImageScrollView setContentOffset:CGPointMake(speedFactor * _scrollView.contentOffset.x, 0)];
}
}
在這段代碼中,我有一個包含UIImageView的UIScrollView;我稱之爲_headerImageScrollView
。
在它的前面,我有第二個UIScrollView與分頁和三個標籤。那個叫做_scrollView
。