【Objective-C】UIScrollViewでスクロールに合わせたアニメーション
UIScrollViewを使うとき、スクロールに合わせてビューが消えたり、出現したりするアニメーションを表現したいときのメモです。
(環境:xcode5, iOS7)
スクロールビューをスクロールしたときに呼び出されるメソッド「- (void)scrollViewDidScroll:(UIScrollView *)scrollView」に実装します。
- (void)scrollViewDidScroll:(UIScrollView *)scrollView { // スクロールしたときにページが変わるようにする CGFloat pageWidth = scrollView.frame.size.width; CGFloat contentWidth = scrollView.contentSize.width; CGFloat contentOffset = scrollView.contentOffset.x; if ((NSInteger)fmod(contentOffset, pageWidth) == 0) { pageControl.currentPage = contentOffset / pageWidth; currentPage = pageControl.currentPage; } // imageViewが最後のページのときだけ消えるようにする CGFloat baseOffset = (contentWidth - (pageWidth * 2.0)); if (contentOffset >= baseOffset) { CGFloat delta = contentOffset - baseOffset; imageView.alpha = 1.0 - (delta / pageWidth); } }
イメージビューのalpha値をスクロールに合わせて変えてるだけです。。