2011-07-30 152 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屬性。