この 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
。
その前に、ページネーションと 3 つのラベルを含む 2 番目の UIScrollView があります。あれは と呼ばれて_scrollView
います。