我关闭了Autolayout,并且viewcontroller嵌入在导航控制器中。 我正在使用Xcode 5,Storyboard。
我不明白为什么它会从顶部留下空间。 实际上在故事板中我把我的标签正好放在导航栏下方。 但是当我在模拟器上运行它时,它会从顶部留下空间。
解决此问题的黑客方法之一
-(void)viewWillLayoutSubviews
{
self.scrollViewMain.frame = CGRectMake(0, -70, 320, 800);
self.scrollViewMain.contentSize = CGSizeMake(320, 800);
}
但我错过了一些非常简单的方法。
答案 0 :(得分:156)
在Xcode 5中,在故事板中选择您的控制器>在“属性”检查器中,禁用“调整滚动视图插入” 还要检查是否已设置任何contentInset
修改:我附上了图片
答案 1 :(得分:82)
修复是在viewDidLoad;
之后实现以下代码行self.automaticallyAdjustsScrollViewInsets = NO;
答案 2 :(得分:32)
iOS 11更新
if #available(iOS 11.0, *) {
scrollView.contentInsetAdjustmentBehavior = .never
} else {
automaticallyAdjustsScrollViewInsets = false
}
答案 3 :(得分:8)
转到主故事板。选择视图控制器,参见属性“调整 滚动视图“属性检查器中的昆虫”。如果您不想要顶部 spacing.then取消选中“Top Top Bars”。如果你不想要屁股 spacing.then取消选中“Under Bottom Bars”。这种问题来了 当我们使用滚动视图相关的控制器时。
这是导航和标签栏的功能,可以像滚动控件一样调整滚动视图中的内容。
答案 4 :(得分:7)
答案 5 :(得分:4)
对于我在xcode 7和Swift 2.x中,我使用for循环填充UIScrollView,并且必须将contentInset设置为零。
=IF(ISNUMBER(SEARCH("spare",B2)), "0", VLOOKUP(conditions))
答案 6 :(得分:0)