我试图弄清楚如何保存UIScrollView的状态。例如,我从xib加载了几个UIScrollView中的图像和标签。

现在我的问题是,当用户返回此页面时,scrollview的状态与他们停止滚动时的状态相同,我该怎么做?有谁知道如何做到这一点?谢谢。

我发现了这一点:

NSUserDefaults  *defaults = [NSUserDefaults standardDefaults];
[defaults setFloat: scrollview.contentOffset.x forKey: @"myScrollPositionX"];
[defaults setFloat: scrollview.contentOffset.y forKey: @"myScrollPositionY"];


和恢复:

scrollView.contentOffset = CGPointMake([defaults floatForKey: @"myScrollPositionX"], [defaults floatForKey: @"myScrollPositionY"]);


我应该在哪里实施?抱歉,我是新来者,所以请简单点:D

最佳答案

您可以在视图控制器的viewWillDisappear:animated方法中将位置保存为默认值,并在viewWillAppear:animated方法中设置内容偏移量,因此状态会在用户离开视图时保存,并在用户离开之前还原重新进入视图。

关于iphone - 恢复UIScrollview的状态,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12876867/

10-11 09:06