UINavigationController和autolayout顶部布局指南的奇怪行为

时间:2015-06-23 03:31:57

标签: ios layout uiscrollview uinavigationcontroller autolayout

我在导航控制器下使用自动布局控制器。对于这个控制器,我主要在控制器的视图中有一个滚动视图。滚动视图的对齐规则是顶部布局指南,底部布局指南,前导与超级视图和尾随对齐。

当我在第一个first loaded screen加载视图时,布局很好,然后我按下添加描述按钮,它会推到下一个屏幕,之后屏幕将再次显示,但它变得像现在这是screen after popping back

导航栏和滚动视图之间有一些神秘的空白区域。我的猜测是顶部布局指南放错了地方。无论如何,我可以解决这个或我做错的事情吗?

2 个答案:

答案 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);
}

希望这有帮助。