ios - 额外的 20px 顶部插入 UIScrollView 问题

标签 ios objective-c uiscrollview

已提出有关此问题的问题。我尝试了一切,但无法解决我的问题。我挣扎了 2 个小时,现在我将它发布在这里。

问题:UIScrollView 的顶部 contentInset 总是有 20px 的额外空间。

我有 viewcontroller xib,没有 Storyboard。

首先,stackoverflow 上的相关问题及其解决方案假设 UIScrollView 是 UIViewController 的 Root View 。但是我的 ScrollView 不是 Root View ,因此这可能是为什么

self.automaticallyAdjustsScrollViewInsets = NO;

不工作

  • 我有一个带有前导空间(0, super View )、尾随空间(0, super View )、顶部空间(0, super View )的 HeaderView 和固定高度。
  • 标题 View 下方是带有前导空格的 ScrollView (0, super View ), 尾部空间(0,superview),底部空间(0,superview)和垂直 空间(0,标题 View )
  • 内容 ScrollView 中有一个 View 。这个观点有 ScrollView 的前导 (0)、尾随 (0)、底部 (0) 和顶部 (0) 空间。

这是额外的 20 像素顶部插图的屏幕截图。额外的 20px 是 UIScrollView 的白线和浅灰色内容之间的黑色区域我无法修复这个问题。 enter image description here

我做错了什么吗?自动布局约束似乎很好。

最佳答案

您是否将 Controller 嵌入到导航 Controller 中?似乎 iOS 在顶部留出 20px 用于状态栏,但您的 Controller 没有。

无论哪种方式,在您的 viewDidLoad 中,如果您在调用 super 之前调整 scrollView,它应该可以工作:

   - (void)viewDidLoad {
    self.automaticallyAdjustsScrollViewInsets = NO;
    self.scrollView.contentInset = UIEdgeInsetsMake(0,0,0,0); 
    [super viewDidLoad];
    }

iOS 可能会自动强制您的 scrollView 具有 20px TOP contentInset 的原因是因为它可能是您主视图中索引为 0 的 View 。您可以在这里进一步阅读:http://b2cloud.com.au/how-to-guides/uiviewcontroller-changes-in-ios7

By default, a UIViewController will automatically adjust the content insets of it’s UIScrollView (including UITableViews) at view index 0, the very back. This means if there’s a button, label, or any other view behind your table view, you wont get this behaviour for free.

关于ios - 额外的 20px 顶部插入 UIScrollView 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29720855/

相关文章:

ios - 如何知道 UITableView 已完成 swift 中的数据加载

ios - Objective-C 后台任务 UIBackgroundTaskIdentifier 重复

ios - fatal error : module map file YogaKit. 未找到模块映射

ios - Xcode 7.0.1 for iOS 9 for Game Center 中的调试区域警告

objective-c - 在 Xcode 中调试属性

ios - UIView.animateWithDuration 或 UIScrollView.animateWithDuration - 如何在当前状态暂停

uitableview - 在iOS 6中使用NSLayoutConstraints制作UITableView页脚,粘在最后一节的底部和UIScrollView的底部?

ios - Apple 文件应用程序 "Raname"文件/文件夹功能在文件提供程序扩展中不起作用

ios - 在方法 objective-c 之外保留数组数据

objective-c - 如何在第三方音乐应用程序中获取正在播放的信息?