2011-07-30 5 views
1

아주 간단한 질문 :스크롤하는 동안보기 회전

나는 ScrollView와 ImageView를 가지고있다. 스크롤되는 모든 픽셀에 대해 ImageView는 일정 각도 회전해야합니다.

아이디어가 있습니까? 미리 감사드립니다.

+0

스택 오버플로에 익숙합니다. 만족스러운 답을 얻었 으면 대답 옆에있는 체크 표시를 클릭하여 응답하도록 태그를 지정하십시오. –

답변

1

UIScrollViewDelegate을 구현하고 affine 변환으로 회전합니다.

#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을 가져 와서 저장된 초기 상태와 비교합니다. 그게 당신에게 픽셀/포인트 스크롤 수를 가져옵니다.

이미지를 결과로 회전시키려는 정도를 확인하고 CGAffineTransformMakeRotation (docs)의 회전 변환을 만들고 이미지보기의 transform 속성에 지정합니다.

관련 문제