2011-11-18 4 views
0

줌 및 패닝을 허용하는 간단한 사진 뷰어를 만들고 있습니다.UIScrollView의 UIImageView : 패닝 오류

- (void) imageCaptureCompleted 
{ 
    { 
     UIImage* I = self.frontCamView.stillImage; 

     self.imageView.bounds = CGRectMake(0, 0, I.size.width, I.size.height); 
     self.imageView.image = I; 

     // - - - 

     self.scrollView.maximumZoomScale = 4.0; 
     self.scrollView.minimumZoomScale = 0.75; 
     self.scrollView.clipsToBounds = YES; 
     self.scrollView.delegate = self; 

     self.scrollView.contentSize = self.imageView.bounds.size; 
    } 

    [self hideCaptureView]; 

    UIImageWriteToSavedPhotosAlbum(self.frontCamView.stillImage, 
            self, 
            @selector(image: didFinishSavingWithError: contextInfo:), 
            nil); 
} 

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

이는 다음과 같습니다

enter image description here

가 그럼 난 사진을 사용할 수 즉시 사진을 수용하도록 구성 할 수 있습니다 :

그래서 IB에서 나는 UIImageView에 포함 된있는 UIScrollView를 만들 거의 작동합니다. 참으로 저를 두루 뜨리고 줌합니다.

그러나 너무 심하게 움직입니다. 그것은 사진의 오른쪽 가장자리에 부딪 힐 때 다시 튀어 나와야합니다. 대신 사진이 더 큰 검은 색 직사각형처럼 동작합니다.

나는 위의 그림과 똑같은 방식으로 스크롤보기의 자동 크기 조정 마스크를 설정했습니다.

어떻게 작동합니까?

추신 : 이제 이것을 알아 냈습니다. 저는 후손에 대한 답을 올리겠습니다.

답변

0

이 코드는 그것을 밖으로 정렬이 변화가 필요한 이유

 // self.imageView.bounds = CGRectMake(0, 0, I.size.width, I.size.height); 
     self.imageView.image = I; 

     [self.imageView sizeToFit]; 

그러나, 나는 이해할 수 없다. 누구든지 저에게 말할 수 있다면, 나는 그 대답을 받아 들일 것입니다 (어떤 경우에 위의 코드를 붙여주세요. 그러면이 답을 제거 할 수 있습니다).