gpt4 book ai didi

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

转载 作者:技术小花猫 更新时间:2023-10-29 10:43:27 25 4
gpt4 key购买 nike

已提出有关此问题的问题。我尝试了一切,但无法解决我的问题。我挣扎了 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com