2013-03-11 1 views
0

먼저이 주제에 대한 많은 질문이있는 것으로 보입니다. 이 대답을 얻는 사람은 희귀해야합니다.UIScrollView의 확대/축소 확대/축소보기 변환

UIScrollView 하위 클래스에서 확대보기로 UIImageView을 설정했습니다.

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView 
{ 
    return self.imageView; 
} 

그냥 self.imageView 작성 후 나는 그것에 CGAffineTransform을 적용하고 그것은 매트릭스에서 변경되는 것 다음 - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView 대리자 메서드의 여러 통화 변환 행렬 후

(CGAffineTransform) $0 = { 
    (CGFloat) a = 1 
    (CGFloat) b = 0 
    (CGFloat) c = 0 
    (CGFloat) d = 1 
    (CGFloat) tx = 0 
    (CGFloat) ty = 0 
} 

(CGAffineTransform) $2 = { 
    (CGFloat) a = 0 
    (CGFloat) b = 1 
    (CGFloat) c = -1 
    (CGFloat) d = 0 
    (CGFloat) tx = 0 
    (CGFloat) ty = 0 
} 

self.imageView의 변경 :

(CGAffineTransform) $6 = { 
    (CGFloat) a = 0 
    (CGFloat) b = 1 
    (CGFloat) c = -1 
    (CGFloat) d = 0 
    (CGFloat) tx = 0 
    (CGFloat) ty = 0 
} 

(CGAffineTransform) $7 = { 
    (CGFloat) a = 0.130719 
    (CGFloat) b = 0 
    (CGFloat) c = 0 
    (CGFloat) d = 0.130719 
    (CGFloat) tx = 0 
    (CGFloat) ty = 0 
} 

당신은 0.130 내 줌 스케일하지만 내 회전이 사라 변환 볼 수 있듯이합니다.
self.imageView에서 회전을 유지할 방법을 찾고 있습니다.

매우 도움을 주셔서 감사합니다.

답변

4

아마도 Hack'ish가 들리 겠지만 viewForZoomingInScrollView 호출에 의해 반환 될 UIView에 imageView를 포함시키는 것이 좋습니다.

이렇게하면 이미지 뷰는 회전 변환을 유지하지만 수퍼 뷰는 확대 또는 축소됩니다.

나는 내부적으로 UIKit이 무엇인지에 대한 가정을 피하는 경향이있다.