UIScrollView contentOffset 在切换到前台时自动设置
我正在开发一个 iPhone 应用程序。我的代码是这样实现的:
RootViewController 将 UIScrollView 作为其视图。然后 RootViewController 推送另一个 UIViewController(比如 vc),它再次将 UIScrollView (sv) 作为其视图。
sv 的边界/帧大小为 (320, 460),内容大小为 (320, 520)。因此,sv 现在可以垂直滚动。因此,我将 sv 的内容偏移量设置为 (0, 60)。
我使用 iPhone 的 Home 按钮切换到后台,然后再次将我的应用程序置于前台。在这种情况下,我的 sv 内容偏移量通过动画自动设置为 (0, 0)。
当我尝试覆盖 setContentOffset: 时,我注意到某些库调用 [adjustsIfNeeded],将内容偏移设置为 (0, 0)。
为什么会发生这种情况?
I am developing an iPhone application. I have my code implemented this way:
RootViewController has UIScrollView as its view. Then RootViewController pushes another UIViewController say vc which again has UIScrollView (sv) as its view.
The bounds/frame size of sv is (320, 460) and content size is (320, 520). So, sv is now scrollable vertically. Hence, I have set content offset of sv to be (0, 60).
I switch to background using Home button of iPhone and again put my application to Foreground. In this case my sv content offset is set to (0, 0) automatically with animation.
When I tried to override setContentOffset: I noticed that some library call [adjustsIfNeeded], sets content offset to be (0, 0).
Why is this happening?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是因为,我的 UIViewController 的基本视图是 UIScrollView。我将其更改为 UIView,然后添加 UIScrollView 作为其子视图。现在,效果很好。
This was because, my base view of UIViewController was UIScrollView. I changed it to a UIView and then added UIScrollView as its subview. Now, it works fine.