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 < 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]