为什么UIScrollView在ios 6和ios 7的顶端留下了空间

在这里输入图像说明

在这里输入图像说明

我已经closuresAutolayout和viewcontrollerembedded导航控制器。 我正在使用Xcode 5,Storyboard。

我不明白为什么会从上面留下空间。 其实在故事板我已经把我的标签正好在导航栏下方。 但是,当我在模拟器上运行它,然后从顶部留下空间。

解决这个问题的方法之一

-(void)viewWillLayoutSubviews { self.scrollViewMain.frame = CGRectMake(0, -70, 320, 800); self.scrollViewMain.contentSize = CGSizeMake(320, 800); } 

但是我错过了一些非常简单的方法。

在Xcode 5中,在故事板中select您的控制器>属性检查器中禁用调整滚动视图插页还检查是否已经设置了任何contentInset

编辑 :我附上了一张照片

在这里输入图像说明

解决方法是在viewDidLoad之后执行以下代码行;

self.automaticallyAdjustsScrollViewInsets = NO;

iOS 11更新

 if #available(iOS 11.0, *) { scrollView.contentInsetAdjustmentBehavior = .never } else { automaticallyAdjustsScrollViewInsets = false } 

转到主要的故事板。 select视图控制器,请参阅属性检查器中的属性“调整滚动视图昆虫”。 如果你不想顶部间距,那么取消选中“顶部酒吧”。 如果你不想要底部间距,那么取消选中“底部条”。 当我们使用滚动视图相关的控制器时会出现这种问题。

这是一个导航和标签栏的function来调整滚动视图中的内容像控件。

对于我在xcode 7和Swift 2.x中,我使用for循环来填充UIScrollView,并且必须将contentInset设置为零。

 for image in images { self.scrollView.contentInset = UIEdgeInsetsZero }