在导航控制器中使用自动布局的主视图和滚动视图之间的差距
Gap between main view and scroll view using Auto Layout in navigation controller
我在管理嵌入在导航视图控制器中的滚动视图时遇到了一些问题。我正在使用自动布局,我会尽力解释这个问题。
- 我在控制器的主视图中嵌入了一个滚动视图,并将上、左、下和右边框固定到主视图的边框。
- 我在滚动视图中嵌入了一个标准的
UIView
,并给它一个800点的固定高度。这应该充当我所有控件的容器(我们将其命名为 content view)。然后我再次将其顶部、左侧、底部和右侧边框固定到滚动视图的边框。因为滚动视图的后代视图的底部 space 约束是负数,所以我调整它使其回到 0.
- 对于宽度,我从内容视图按住 CTRL 并拖动到主视图并添加了一个 等宽 约束。
- 最后,我添加了一个图像视图并将其放置在我的内容视图的顶部中心,添加了一些更简单的约束。
我刚才描述的情况的故事板如上所示(在文档大纲中,您应该看到我定义的所有约束)。
我的滚动视图工作正常,它滚动得很好,图像视图在它应该的位置居中。但是,导航栏的末尾和滚动视图的开始之间存在间隙,我不明白为什么。它似乎和导航栏一样高,但我不知道如何修复它。下面显示的图像应该可以让您理解我在说什么(为清楚起见,内容视图以灰色突出显示)。
我没有写一行代码来实现这个结果。如果您能提供任何帮助,我将不胜感激,我已准备好为您提供帮助我解决问题所需的所有信息。
我认为你应该取消选中 Adjust Scrollview Insets
属性 你的 viewcontroller 来摆脱这个....
您必须取消选中 Adjust Scrollview Insets
我在管理嵌入在导航视图控制器中的滚动视图时遇到了一些问题。我正在使用自动布局,我会尽力解释这个问题。
- 我在控制器的主视图中嵌入了一个滚动视图,并将上、左、下和右边框固定到主视图的边框。
- 我在滚动视图中嵌入了一个标准的
UIView
,并给它一个800点的固定高度。这应该充当我所有控件的容器(我们将其命名为 content view)。然后我再次将其顶部、左侧、底部和右侧边框固定到滚动视图的边框。因为滚动视图的后代视图的底部 space 约束是负数,所以我调整它使其回到 0. - 对于宽度,我从内容视图按住 CTRL 并拖动到主视图并添加了一个 等宽 约束。
- 最后,我添加了一个图像视图并将其放置在我的内容视图的顶部中心,添加了一些更简单的约束。
我刚才描述的情况的故事板如上所示(在文档大纲中,您应该看到我定义的所有约束)。
我的滚动视图工作正常,它滚动得很好,图像视图在它应该的位置居中。但是,导航栏的末尾和滚动视图的开始之间存在间隙,我不明白为什么。它似乎和导航栏一样高,但我不知道如何修复它。下面显示的图像应该可以让您理解我在说什么(为清楚起见,内容视图以灰色突出显示)。
我没有写一行代码来实现这个结果。如果您能提供任何帮助,我将不胜感激,我已准备好为您提供帮助我解决问题所需的所有信息。
我认为你应该取消选中 Adjust Scrollview Insets
属性 你的 viewcontroller 来摆脱这个....
您必须取消选中 Adjust Scrollview Insets