我在导航控制器下使用自动布局控制器。对于这个控制器,我主要在控制器的视图中有一个滚动视图。滚动视图的对齐规则是顶部布局指南,底部布局指南,前导与超级视图和尾随对齐。
当我在第一个加载视图时,布局很好,然后我按下添加描述按钮,它会推到下一个屏幕,之后屏幕将再次显示,但它变得像现在这是。
导航栏和滚动视图之间有一些神秘的空白区域。我的猜测是顶部布局指南放错了地方。无论如何,我可以解决这个或我做错的事情吗?
答案 0 :(得分:3)
只需添加以下代码
即可self.automaticallyAdjustsScrollViewInsets = NO;
- (void)viewDidLoad
方法中的
答案 1 :(得分:1)
这是一个简单的答案
https://stackoverflow.com/a/18974954/2382237
尝试更改viewController的edgesForExtendedLayout
private int height(int size) {
return (int) Math.ceil(log2(size + 1));
}
// returns the amount of space in the bottom row of a binary tree
private int bottomRowSpace(int height) {
return (int) Math.pow(2, height - 1);
}
// returns the amount of filled spots in the bottom row of a binary tree
private int bottomRowFilled(int size) {
return size - (bottomRowSpace(height(size)) - 1);
}
// log base2
private double log2(double a) {
return Math.log(a) / Math.log(2);
}
希望这有帮助。