2011-07-30 30 views
1

かなり簡単質問:スクロール中にビューを回転する

私はScrollViewとImageViewを持っています。スクロールされたすべてのピクセルに対して、ImageViewはある程度回転します。

どのようにすればいいですか? ありがとうございます

+0

あなたがスタックオーバーフローを初めて経験したようです。満足のいく回答が得られたら、その横にあるチェックマークをクリックして、それに答えてタグを付けるようにしてください。 –

答えて

1

UIScrollViewDelegateを実装し、アフィン変換でローテーションします。

#import <QuartzCore/QuartzCore.h> 

- (void)scrollViewDidScroll:(UIScrollView *)scrollView 
{ 
    CGPoint offset = scrollView.contentOffset; 
    CGFloat rotateDegrees = offset.y; 
    CGFloat rotateRadians = rotateDegrees * (M_PI/180); 
    _myImage.layer.affineTransform = CGAffineTransformMakeRotation(rotateRadians); 
} 

_myImage.layer.affineTransform = CGAffineTransformIdentityを使用して回転をリセットします。

+0

+10あなたに最高です!ありがとう、ちょうど私が必要なもの:) – kopproduction

0

delegateをスクロールビューに割り当て、-scrollViewDidScroll:メソッドを実装します。これはスクロールビューが動くたびに呼び出されます。その方法では、スクロールビューのcontentOffsetを取得し、保存した初期状態と比較します。それはスクロールされたピクセル/ポイントの数を取得します。

画像をどれだけ回転させ、回転変換をCGAffineTransformMakeRotationdocs)で作成し、それを画像ビューのtransformプロパティに割り当てます。

関連する問題