2009-09-20 7 views
7

UIScrollView에서 이미지 가운데 놓기에 대한 해결 방법을 만들고 Apple의 사진 응용 프로그램처럼 동작하도록하려면 현재 확대/축소 수준을 가져와이 숫자를 사용하여 각 확대시 이미지 삽입량을 계산해야합니다 수평.UIScrollView에서 현재 줌 레벨을 얻으려면 어떻게해야합니까?

(참고 : 일부 프로그래머는 scrollview와 동일한 크기의 UIView에 이미지를 중심으로하여 스크롤 뷰의 이미지를 가운데에 배치하고 있습니다.이 방법은 좋은 결과를 얻지 못하며, 사과가 사진 앱에서 작동하게 만들었습니다.)

그래서 누구나 UIScrollView에서 현재 확대/축소 수준을 얻는 방법을 알고 있습니까?

답변

9

OS 3.x에는 원하는 것을 제공하는 "zoomScale"이라는 속성이 있습니다. 2.x에서, 나는 이것을 얻을 수있는 contentView의 변환을 직접 볼 수 있다고 믿는다. (물론 그것은 '공식'이 아니다.)

+0

나는 다음을 시도하고있다 : NSLog (@ "% d", myScrollView.zoomScale); 내 scrollViewDidEndZooming 메서드에서 있지만 "0"가져 오는 중입니다. 여기서 내가 뭘 잘못하고 있니? 나는 당신이 setter로서 zoomScale을 사용할 수 있다는 것을 알고 있지만, 현재의 줌 배율을 얻는 것이 또한 효과가 있습니까? – Jonah

13

네 문제의 답이있다. scrollViewController 클래스에서이 메서드를 사용해야한다고 생각합니다.

- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale{ 
    NSLog(@"Zoomscale %f",scale); 
     NSLog(@"Zoom End!"); 
}