推送另一个视图后 UIScrollView contentOffset 更改

时间:2022-11-15
本文介绍了推送另一个视图后 UIScrollView contentOffset 更改的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我在 Interface Builder 中有一个 UIViewController,我在 UIView 中添加了一个 UIScrollView.它的 contentOffset 属性等于 0.0,但是当我将 UIScrollView 滚动到最底部并推送另一个视图时,contentOffset 会发生变化.

I have a UIViewController in Interface Builder, and I add a UIScrollView to the UIView. It has a contentOffset property equal to 0.0, but when I scroll the UIScrollView to the very bottom and push another view the contentOffset changes.

NSLog 给了我以下值:

//View just loaded
2013-09-09 16:19:27.455 my_app[24588:907] Scroll View content offset is 0.000000

//We came back from another view
2013-09-09 16:19:30.957 my_app[24588:907] Scroll View content offset is 108.000000

这种行为的原因是什么?我刚刚在 IB 中添加了一个 UIScrollView 并且在代码中什么也没做.

What's the reason of this behaviour? I've just added a UIScrollView in IB and did nothing in code at all.

scrollView的contentHeight大于self.view.height.scrollView 的 frame 保持不变.

The contentHeight of the scrollView is bigger than self.view.height. The frame of the scrollView stays the same.

推荐答案

查看我的回答类似的问题.

您需要在 viewWillAppear:viewWillDisappear: 中适当地设置滚动视图的 contentOffset.

You need to set the scrollview's contentOffset appropriately in viewWillAppear: and viewWillDisappear:.

另外,请参阅:

  • 这个答案问题UIScrollView 弹回 UIViewController 后原点发生变化.
  • 这个相关问题,UIScrollview 自动布局问题.

这篇关于推送另一个视图后 UIScrollView contentOffset 更改的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

上一篇:performSelector:withObject:afterDelay: 不能从 scrollViewDidZoom 下一篇:iOS:使用 ContainerView 动态内容的 UIScrollView(一步一步)

相关文章

最新文章