菜鸟教程小白 发表于 2022-12-12 16:23:25

ios - UIScrollView 的内容在导航栏下方有偏移


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

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

<pre><code>self.automaticallyAdjustsScrollViewInsets = NO;
</code></pre>

<p>或者只是隐藏状态栏</p>

<pre><code>- (BOOL)prefersStatusBarHidden {
    return YES;
}
</code></pre>

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

<p> <img src="/image/syynI.png" alt="problem"/> </p>

<p>因为我有很多来自 <a href="http://www.raywenderlich.com/10518" rel="noreferrer noopener nofollow">this tutorial by Ray Wenderlich</a> 的代码而且我不知道我的代码到底在哪里,<a href="https://github.com/frederike/NZTravellerApp/blob/master/NZTravellerApp/CustomScrollViewController.m" rel="noreferrer noopener nofollow">this is the link to code on github</a> .</p>

<p>谁能帮帮我?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我能够弄清楚发生了什么。感谢您发布指向您的应用的链接。</p>

<p>问题在于以下代码:</p>

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

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

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

<p>如果您还有其他问题,请告诉我。</p>

<p>希望这会有所帮助!</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - UIScrollView 的内容在导航栏下方有偏移,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/19965827/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/19965827/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - UIScrollView 的内容在导航栏下方有偏移