Ios UINavigationController和autolayout top layout guide的奇怪行为

Ios UINavigationController和autolayout top layout guide的奇怪行为,ios,layout,uiscrollview,uinavigationcontroller,autolayout,Ios,Layout,Uiscrollview,Uinavigationcontroller,Autolayout,我正在为导航控制器下的控制器使用自动布局。对于这个控制器,我主要在控制器的视图中有一个滚动视图。滚动视图的对齐规则为顶部布局导向、底部布局导向、与超级视图对齐的前导以及尾随 当我首先加载视图时,布局很好,然后我按下AddaDescription按钮,它会推到下一个屏幕,然后屏幕会再次显示,但现在变成这样 导航栏和滚动视图之间突然出现了一些神秘的空白。我猜顶部布局指南放错地方了。无论如何,我可以修复这个或任何我做错的事情?只需添加以下代码即可 self.automaticallyAdjustsSc

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

当我首先加载视图时,布局很好,然后我按下AddaDescription按钮,它会推到下一个屏幕,然后屏幕会再次显示,但现在变成这样


导航栏和滚动视图之间突然出现了一些神秘的空白。我猜顶部布局指南放错地方了。无论如何,我可以修复这个或任何我做错的事情?

只需添加以下代码即可

self.automaticallyAdjustsScrollViewInsets = NO;

-(void)viewDidLoad
方法中,只需添加以下代码即可

self.automaticallyAdjustsScrollViewInsets = NO;

-(void)viewDidLoad
方法中

这里有一个简单的答案

尝试更改viewController的edgesForExtendedLayout

self.edgesForExtendedLayout = UIRectEdgeAll;
self.extendedLayoutIncludesOpaqueBars = YES;

希望这有帮助。

这里有一个简单的答案

尝试更改viewController的edgesForExtendedLayout

self.edgesForExtendedLayout = UIRectEdgeAll;
self.extendedLayoutIncludesOpaqueBars = YES;

希望这能有所帮助。

检查一下……似乎正在工作——嗯,这个问题也不是每次都会发生。你能解释一下吗?投票最多的答案确实有效,但这是否意味着自动滚动视图插入是在弹出后插入的?检查这个..似乎有效--好吧,这个问题不是每次都会发生。你能解释一下吗?投票最多的答案确实有效,但这是否意味着自动滚动视图插入在弹出后插入?我在Bhavin提供的链接中看到了这个答案,但我不确定为什么这个答案有效。我得到了相同的问题,我通过上述代码解决了我的问题,所以我建议您。你可以从我在Bhavin提供的链接中看到这个答案中得到更好的想法,但我不确定为什么这个工作我得到了相同的问题,我通过上面的代码解决了我的问题,所以我建议你。你可以从中得到更好的想法