0

質問があります。水平スクロールビューの画像に少しだけ回転アニメーションを付けたいです。スライドイン時とスライドアウト時に回転する必要があります。誰もこれを行う方法を知っていますか? スクロール時に回転させたい。

私は何かを試しましたが、スクロールしても回転しません(最初の画像のみ)。次のようなことをしました:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    int page = scrollView.contentOffset.x / scrollView.frame.size.width;
    UIImageView *view = [scrollView.subviews objectAtIndex: page];

    if(scrollView.contentOffset.x > lastX)
    {
        NSLog(@"scroll right");
        [view setTransform: CGAffineTransformMakeRotation(M_PI / scrollView.contentOffset.x + 0.1)];

    }
    else if(scrollView.contentOffset.x < lastX)
    {
        NSLog(@"scroll left");
        [view setTransform: CGAffineTransformMakeRotation(M_PI / scrollView.contentOffset.x - 0.1)];
    }
    else
    {
    }
4

1 に答える 1

0

CGAffineTransformRotate を使用できます。ただし、imageView のアンカー ポイントを設定する前に。デフォルトでは (0.5, 0.5) に設定されています。つまり、画像は中心から回転します。

[UIView animateWithDuration:1 delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{
    imageView.transform= CGAffineTransformMakeRotation(degreeInRadians); // -- 2 --
} completion:^(BOOL finished){
    // left blank
}];
于 2013-04-04T09:57:22.170 に答える