嵌套的 ScrollView - 缩放后无法滚动到新照片

Posted

技术标签:

【中文标题】嵌套的 ScrollView - 缩放后无法滚动到新照片【英文标题】:Nested UIScrollViews - can't scroll to new photo after zooming 【发布时间】:2012-11-05 18:24:24 【问题描述】:

这种行为出现在 Apple 的 PhotoScroller 示例应用程序中(我刚刚测试了他们为 ios 6 发布的版本),甚至出现在 iOS 5/iOS 6 默认的“照片”应用程序中。 (我没有测试任何其他版本。)

当我放大一张照片然后尝试将其从屏幕上向左滑动(这样下一张照片应该从右侧进入)时,会发生一些奇怪的事情:当我移动手指时,当前照片会移入相同的方向,但只有大约一半的速度。当我抬起手指时,当前照片会向后滚动,以使照片边缘与屏幕对齐。下次我尝试滑动时,它按预期工作:当前照片移出屏幕,下一张进入。

我可以做些什么让它在第一次尝试时更改为下一张照片?我的应用基于 PhotoScroller 示例。

[给不熟悉 PhotoScroller 示例应用程序的一些信息:有一个 UIScrollView 处理不同页面之间的滑动,并且对于每一页,都有一个可以放大该页面上的照片。]

我刚刚将这种行为与 iBooks 中的行为进行了比较,就像我想要在我的应用程序中使用它一样,我可以立即滑动到下一页,即使我只是放大到上一页。

感谢任何反馈!

【问题讨论】:

搞清楚这个有什么好运气吗? 【参考方案1】:

尝试将可缩放滚动视图属性“bounces”设置为 NO:

zoomableScrollView.bounces = NO;

【讨论】:

【参考方案2】:

首先在代码中加载需要滚动的同一张图片

UIImage *yourImage = [UIImage imageNamed:@"yourimage.jpg"];

然后将您滚动的 UIImageView 的帧大小与代码中图像的大小相匹配

self.UIImageView.frame = CGRectMake(self.UIImageView.frame.origin.x, self.UIImageView.frame.origin.y, yourImage.size.width, yourImage.size.width) ;

最好在 ViewDidLoad 中加载此代码。

【讨论】:

以上是关于嵌套的 ScrollView - 缩放后无法滚动到新照片的主要内容,如果未能解决你的问题,请参考以下文章

在缩放时,使用UIWebView scrollView更新UITableViewCell中的约束无法正常工作

我有一个滚动视图缩放错误的图像视图的问题

无法在缩放的 ScrollView 中平移图像?

Scrollview 只缩放到左上角

多层ScrollView嵌套UITableView、UICollectionView联动

无法使用回收视图在 ScrollVIew/NestedScrollView 内滚动 ViewPager