【问题标题】:UIImageView in UIScrollView: panning failUIScrollView 中的 UIImageView:平移失败
【发布时间】:2011-11-18 13:17:05
【问题描述】:

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

所以在 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 我现在已经想通了;我会为后代提供答案。

【问题讨论】:

    标签: ios uiscrollview uiimageview camera pan


    【解决方案1】:

    这段代码整理出来:

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

    但是,我不明白为什么需要进行此更改。如果有人能告诉我,我会接受这个答案(在这种情况下,请粘贴上面的代码,然后我可以删除这个答案)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-11
      • 2011-08-10
      • 2017-06-10
      • 1970-01-01
      • 2014-08-20
      • 1970-01-01
      • 2014-09-19
      • 2016-01-23
      相关资源
      最近更新 更多