我做了一个简单的测试项目来显示问题:有一个 imageview 包含在 scrollview 视图 -> scrollview -> imageview
scrollview 的内容大小与 imageview size = (AllWidth, AllHeight) 相同。
问题是,如果滚动视图完全按宽度(scrollView.zoomScale = 320.0/AllWidth;
)缩放以适合图像,则调用 zoomToRect
[scrollView zoomToRect:CGRectMake(0.0, 0.0, AllWidth, AllHeight) animated: NO];
出于某种原因,确实将 imageview 滚动到底部。但预计 UI 不会发生任何事情
如果滚动视图没有完全按宽度 ( ) 缩放以适合图像scrollView.zoomScale = (320.0-1)/AllWidth;
,则调用 zoomToRect 会执行预期的操作 - 图像被缩放并且不会滚动到底部。
我注意到在“错误”情况下 ContentOffset.y 已更改,但我不知道为什么。
要重现该问题,请在 viewcontroller.h 文件中添加新项目<UIScrollViewDelegate>
;viewcontroller.m 在这里:http : //pastebin.com/bPUtuYn1 (在测试项目中,您需要双击绿色图像,然后将“320.0-1”更改为“320.0”并重试)