我做了一个简单的测试项目来显示问题: 有一个包含在scrollview中的imageview 查看 - > 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会执行预期的操作 - 图像缩放而不会滚动到底部。
我注意到'buggy'案例中的ContentOffset.y已更改,但我不知道为什么。
重现问题,启动新项目,在viewcontroller.h文件中添加<UIScrollViewDelegate>
; viewcontroller.m在这里:http://pastebin.com/bPUtuYn1(在测试项目中,您需要双击绿色图像,然后将“320.0-1”更改为“320.0”并再试一次)