UIScrollView 中的 UIImageView:平移失败
Posted
技术标签:
【中文标题】UIScrollView 中的 UIImageView:平移失败【英文标题】:UIImageView in UIScrollView: panning fail 【发布时间】: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 我现在已经想通了;我会为后代提供答案。
【问题讨论】:
【参考方案1】:这段代码整理出来:
// self.imageView.bounds = CGRectMake(0, 0, I.size.width, I.size.height );
self.imageView.image = I;
[self.imageView sizeToFit];
但是,我不明白为什么需要进行此更改。如果有人能告诉我,我会接受这个答案(在这种情况下,请粘贴上面的代码,然后我可以删除这个答案)。
【讨论】:
以上是关于UIScrollView 中的 UIImageView:平移失败的主要内容,如果未能解决你的问题,请参考以下文章
在 UIScrollView 内的 UIImageView 上启用 GestureRegnizer
在 UIScrollView 中放大多个 UIImageView
如果我隐藏 NavigationBar 和 ToolBar,UIScrollView 会向上移动