OGeek|极客世界-中国程序员成长平台

标题: ios - UIScrollView 的内容在导航栏下方有偏移 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 16:23
标题: ios - UIScrollView 的内容在导航栏下方有偏移

我有一个 UIScrollView,它包含一个 UIView,它又包含一个 UIImageView 和几个 UIButton。 我遇到的问题是图像显示在导航栏下方约 20 像素处。

似乎有类似问题的人有解决方法,比如设置

self.automaticallyAdjustsScrollViewInsets = NO;

或者只是隐藏状态栏

- (BOOL)prefersStatusBarHidden {
    return YES;
}

但是,这两种解决方案都不适合我。第一个将内容设置得太高,而是在底部添加 20px 空间。第二个隐藏了状态栏,但偏移量仍然存在。

problem

因为我有很多来自 this tutorial by Ray Wenderlich 的代码而且我不知道我的代码到底在哪里,this is the link to code on github .

谁能帮帮我?



Best Answer-推荐答案


我能够弄清楚发生了什么。感谢您发布指向您的应用的链接。

问题在于以下代码:

if (contentsFrame.size.height < boundsSize.height) {
    contentsFrame.origin.y = (boundsSize.height - contentsFrame.size.height) / 2.0f;
} else {
    contentsFrame.origin.y = 0.0f;
}

事实证明,本地图首次显示时,contentsFrame.size.height 实际上小于 bounds.Size.height。因此,您的代码将图像垂直居中。这就是为什么您会在顶部看到偏移量。准确地说是 17.279 像素。

我一直在玩你的应用程序(顺便说一句,这看起来很有趣),我相信你可以完全摆脱对 centerScrollViewContents 的两次调用,它会像你预期的那样工作。

如果您还有其他问题,请告诉我。

希望这会有所帮助!

关于ios - UIScrollView 的内容在导航栏下方有偏移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19965827/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4