Ios UIScrollView中的UIImageView:平移失败

Ios UIScrollView中的UIImageView:平移失败,ios,uiscrollview,uiimageview,camera,pan,Ios,Uiscrollview,Uiimageview,Camera,Pan,我正在制作一个简单的照片查看器,允许缩放和平移 因此,在IB中,我创建了一个包含UIImageView的UIScrollView: 然后,我可以将其配置为在照片可用时立即放置照片: - (void) imageCaptureCompleted { { UIImage* I = self.frontCamView.stillImage; self.imageView.bounds = CGRectMake(0, 0, I.size.width, I.si

我正在制作一个简单的照片查看器,允许缩放和平移

因此,在IB中,我创建了一个包含UIImageView的UIScrollView:

然后,我可以将其配置为在照片可用时立即放置照片:

- (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;
}
这几乎奏效了。它确实让我可以平移和缩放

然而,它太远了!当它碰到照片的右边缘时,应该会反弹回来。但是,它的行为就像照片在一个更大的黑色矩形中

我已经按照与上图完全相同的方式设置了滚动视图的自动调整大小遮罩

如何让它工作


PS我现在已经明白了这一点;我将为子孙后代提供答案。

这段代码将其分类:

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

        [self.imageView sizeToFit];
然而,我不明白为什么这个改变是必要的。如果有人能告诉我,我会接受这个答案,在这种情况下,请粘贴上面的代码,然后我可以删除这个答案