UIScrollView contentOffset 在切换到前台时自动设置

发布于 2024-11-27 16:31:46 字数 447 浏览 0 评论 0原文

我正在开发一个 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

停顿的约定 2024-12-04 16:31:46

这是因为,我的 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文