我的应用程序由UIImageView
内的UIScrollView
组成,我在其中显示一个大图像。滚动视图允许用户捏合以放大/缩小图像,并且所有这些看起来都很好。
然而,当我的应用程序终止然后重新启动时,UIScrollView
再次以原始缩放级别显示图像(当前设置为显示整个图像,通过“适合方面”缩放它“模式”。
我真的希望能够重新启动我的应用并让UIScrollView
重新打开,其参数与应用终止时设置的参数相同。因此,如果我的图像当前放大到最大值,并一直滚动到它的左下角,则应该是我再次打开应用程序时的视图。
我该怎么做?
答案 0 :(得分:3)
检查视图的.transform属性。如果放大,则应进行修改。在下次发布时保存并恢复它。
答案 1 :(得分:2)
前一段时间有人问过,但我认为你不会喜欢the answer。希望你会得到一个更好的。
答案 2 :(得分:2)
我找到了一种以编程方式缩放UIScrollView的方法。这可以帮助您在启动时设置所需的缩放级别。
示例代码,以及封装所需缩放魔术的ZoomScrollView类以及有关如何(以及为何)UIScrollView缩放工作的详细讨论,可在github.com/andreyvit/ScrollingMadness/获得。
答案 3 :(得分:2)
我是这样做的: 退出时保存zoomlevel(myScrollview.zoomScale)和contentview框架原点。
重新打开时,可以设置缩放比例。您还必须将内容大小设置为新的缩放级别,否则边界不正确。
[myScrollview setZoomScale:savedZoomScale];
CGSize newsize = CGSizeMake(origsize.width * savedZoomScale,
origsize.height * savedZoomScale);
myScrollview.contentSize = newsize;
设置偏移量:
[myScrollView setContentOffset:savedFrameOrigin animated:YES];