我有一个 UIScrollView,它包含一个 UIView,它又包含一个 UIImageView 和几个 UIButton。
我遇到的问题是图像显示在导航栏下方约 20 像素处。
似乎有类似问题的人有解决方法,比如设置
self.automaticallyAdjustsScrollViewInsets = NO;
或者只是隐藏状态栏
- (BOOL)prefersStatusBarHidden {
return YES;
}
但是,这两种解决方案都不适合我。第一个将内容设置得太高,而是在底部添加 20px 空间。第二个隐藏了状态栏,但偏移量仍然存在。
因为我有很多来自 this tutorial by Ray Wenderlich 的代码而且我不知道我的代码到底在哪里,this is the link to code on github .
谁能帮帮我?
Best Answer-推荐答案 strong>
我能够弄清楚发生了什么。感谢您发布指向您的应用的链接。
问题在于以下代码:
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/
|