我已经关闭了Autolayout,并且viewcontroller嵌入在导航控制器中.我正在使用Xcode 5,Storyboard.
我不明白为什么它会从顶部留下空间.实际上在故事板中我把我的标签正好放在导航栏下方.但是当我在模拟器上运行它然后它从顶部离开空间.
解决这个问题的一种黑客方法
-(void)viewWillLayoutSubviews { self.scrollViewMain.frame = CGRectMake(0, -70, 320, 800); self.scrollViewMain.contentSize = CGSizeMake(320, 800); }
但我错过了一些非常简单的方法.
iOS 11更新
if #available(iOS 11.0, *) { scrollView.contentInsetAdjustmentBehavior = .never } else { automaticallyAdjustsScrollViewInsets = false }
转到主要故事板.选择视图控制器,请参见属性检查器中的"调整滚动视图昆虫"属性.如果你不想要顶部间距.然后取消选中"在顶部栏下".如果你不想要底部间距,那么取消选中"Under Bottom Bars".当我们使用滚动视图相关的控制器时会出现这种问题.
这是导航和标签栏的功能,可以像滚动控件一样调整滚动视图中的内容.
修复是在viewDidLoad之后实现以下代码行;
self.automaticallyAdjustsScrollViewInsets = NO;
在Xcode 5中,在故事板中选择您的控制器>在Attribute Inspector中禁用Adjust Scroll View Insets同时检查您是否设置了任何contentInset
编辑:我附上了一张照片
检查器:选择scrollView并设置内容插入 - 永远不会