图像缩放时在 UIScrollView 中停止滚动图像

Posted

技术标签:

【中文标题】图像缩放时在 UIScrollView 中停止滚动图像【英文标题】:Stop scroll image in UIScrollView when image zoom 【发布时间】:2012-09-25 13:49:18 【问题描述】:

我在 UIScrollView 中有一个图像,我希望用户不能在缩放时滚动图像,我阅读了 UIScrollView 的许多属性,但我很困惑。

当用户在 scrollView 中缩放图像时,我们如何停止滚动图像(水平或垂直)。

我已经测试过了

 scroll.scrollEnabled=NO;

 scroll.directionalLockEnabled = YES;

 scroll.bounces=NO;

scroll.scrollEnabled = N0;停止滚动,但任务是用户无法滚动图像,当用户缩放图像时,我需要帮助

谢谢

【问题讨论】:

【参考方案1】:

您必须将您的视图控制器设置为滚动视图委托。假设您有 UIImageView 正在放大滚动视图。您想要做的是在缩放时将其居中在滚动视图边界的中间。如果您只想禁用垂直或水平方向的滚动,则只需更改 imageView 的 x 或 y 中心

- (void)scrollViewDidZoom:(UIScrollView *)scrollView
 
  self.imageView.center=CGPointMake(CGRectGetMidX(self.scrollView.bounds), CGRectGetMidY(self.scrollView.bounds));
 

我强烈建议您观看有关高级滚动视图技术 2010、2011 和 2012 的苹果视频会议,它们确实很好地解释了 UIScrollView 到底是什么强大的野兽。希望这会有所帮助

【讨论】:

以上是关于图像缩放时在 UIScrollView 中停止滚动图像的主要内容,如果未能解决你的问题,请参考以下文章

在 UIScrollview 上缩放图像后,它会滚动到图像区域之外

iOS UIScrollView捏缩放添加空白

缩放 UIScrollView 时滚动到矩形?

uiscrollview 中的图像显示

IOS:在滚动视图中添加图像视图以进行缩放

缩放时,UIScrollview 子视图无法识别手势