5

UIPageControlさまざまなページをめくるがあります。ユーザーがページ 1 からページ 2 にスクロールすると、UIImageView がフェードし始めます。位置に基づいてレイヤーを追加する適切な方法を見つけようとして苦労しています。どんな助けでも大歓迎です...

[UIView beginAnimations:@"fade out" context:nil];
    [UIView setAnimationDuration:1.0]; // some how based on position?? 
    imageView.alpha = 1.0; // here to?
    [UIView commitAnimations];

編集:

デリゲートを設定します。

 self.pageController = [[UIPageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStyleScroll navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal options:nil];

    self.pageController.dataSource = self;
4

1 に答える 1

9

次のメソッドをオーバーライドするには、デリゲートが必要です。

- (void)scrollViewDidScroll:(UIScrollView *)scrollView;

次に、値をチェックしscrollView.contentOffset.xて、スクロール ビューが水平方向にどれだけスクロールしたかを判断し、それを使用して imageView のアルファを次のように決定する必要があります。

CGFloat newAlpha = scrollView.contentOffset.x / scrollView.frame.size.width; // This will need to be adapted depending on the content size of your scroll view -- do not just copy and paste this expecting it to work :)
imageView.alpha = newAlpha;
于 2013-08-15T03:07:14.680 に答える